Databricks SQL CLI
Feljegyzés
Ez a cikk a Databricks SQL CLI-t ismerteti, amelyet a Databricks az ügyfél technikai támogatási csatornáin keresztül biztosít, és nem támogatja. A kérdések és a funkciókérések a GitHubon található databricks/databricks-sql-cli adattár Problémák lapján keresztül közölhetők.
A Databricks SQL parancssori felülete (Databricks SQL CLI) lehetővé teszi sql-lekérdezések futtatását a meglévő Databricks SQL-raktárakon a terminálról vagy a Windows parancssorból, nem pedig olyan helyekről, mint a Databricks SQL-szerkesztő vagy egy Azure Databricks-jegyzetfüzet. A parancssorból olyan hatékonyságnövelő funkciókat kaphat, mint a javaslatok és a szintaxis kiemelése.
Követelmények
- Legalább egy Databricks SQL-raktár. Ha még nincs ilyen, hozzon létre egy raktárat.
-
Python 3.7 vagy újabb. Annak ellenőrzéséhez, hogy telepítve van-e a Python, futtassa a parancsot
python --version
a terminálból vagy a parancssorból. (Egyes rendszereken előfordulhat, hogy inkább be kell írniapython3
.) Telepítse a Pythont, ha még nincs telepítve. -
pip, a Python csomagtelepítője. Alapértelmezés szerint a Python újabb verziói telepíthetők
pip
. Annak ellenőrzéséhez, hogy telepítve van-epip
, futtassa a parancsotpip --version
a terminálból vagy a parancssorból. (Egyes rendszereken előfordulhat, hogy inkább be kell írniapip3
.) Telepítse a pipet, ha még nincs telepítve. - (Nem kötelező) Segédprogram Python virtuális környezetek, például venv létrehozásához és kezeléséhez. A virtuális környezetek segítségével biztosítható, hogy a Python és a Databricks SQL CLI megfelelő verzióit használja együtt. A virtuális környezetek beállítása és használata a jelen cikk hatókörén kívül esik. További információ: Virtuális környezetek létrehozása.
A Databricks SQL CLI telepítése
Miután teljesítette a követelményeket, telepítse a Databricks SQL CLI-csomagot a Python Packaging Indexből (PyPI). A Databricks SQL CLI-csomagot a PyPI-ból pip
az pip
alábbi parancsok egyikével telepítheti.
pip install databricks-sql-cli
# Or...
python -m pip install databricks-sql-cli
A Databricks SQL CLI egy korábban telepített verziójának frissítéséhez futtassa pip
az alábbi parancsok egyikét.
pip install databricks-sql-cli --upgrade
# Or...
python -m pip install databricks-sql-cli --upgrade
A Databricks SQL CLI telepített verziójának ellenőrzéséhez futtassa pip
az alábbi parancsok egyikét.
pip show databricks-sql-cli
# Or...
python -m pip show databricks-sql-cli
Hitelesítés
A hitelesítéshez meg kell adnia a Databricks SQL CLI-nek a raktár kapcsolati adatait. Pontosabban szüksége van a kiszolgáló állomásnevére és a HTTP-elérési út értékeire . A Databricks SQL CLI-t is a megfelelő hitelesítési hitelesítő adatokkal kell behoznia.
A Databricks SQL CLI támogatja a Databricks személyes hozzáférési jogkivonatait (PAT-okat). Az Azure Databricks PAT-hitelesítés használatához létre kell hoznia egy személyes hozzáférési jogkivonatot. A folyamat részleteiért tekintse meg az Azure Databricks személyes hozzáférési jogkivonat-hitelesítését.
A Microsoft Entra-azonosító jogkivonatok nem támogatottak.
Ezt a hitelesítési információt többféleképpen is megadhatja a Databricks SQL CLI-nek:
-
dbsqlclirc
Az alapértelmezett helyen található beállításfájlban (vagy ha egy másik beállításfájlt ad meg a--clirc
beállításon keresztül minden alkalommal, amikor parancsot futtat a Databricks SQL CLI-vel). Lásd: Beállítások fájl. - A környezeti és
DBSQLCLI_HOST_NAME
aDBSQLCLI_HTTP_PATH
környezetiDBSQLCLI_ACCESS_TOKEN
változók beállításával. Lásd: Környezeti változók. - A databricks SQL CLI-vel
--hostname
futtatott parancsok minden egyes futtatásakor megadhatja a ,--http-path
és--access-token
a beállításokat. Lásd a parancsbeállításokat.
Feljegyzés
A dbsqlclirc
beállításfájlnak jelen kell lennie, még akkor is, ha az előző környezeti változókat állítja be, vagy megadja az előző parancsbeállításokat vagy mindkettőt.
Amikor a Databricks SQL CLI-t futtatja, a következő sorrendben keresi a hitelesítési adatokat, és leáll, amikor megtalálja az első részletkészletet:
- A
--hostname
,--http-path
és--access-token
a beállítások. - A
DBSQLCLI_HOST_NAME
,DBSQLCLI_HTTP_PATH
ésDBSQLCLI_ACCESS_TOKEN
környezeti változók. - A
dbsqlclirc
beállítások fájlja az alapértelmezett helyen (vagy a beállítás által--clirc
megadott másik beállításfájl).
Beállítások fájl
Ha a dbsqlclirc
databricks SQL CLI-nek a Databricks SQL Warehouse hitelesítési adatait a beállításfájl használatával szeretné megadni, először futtassa a Databricks SQL CLI-t az alábbiak szerint:
dbsqlcli
A Databricks SQL CLI létrehoz önnek egy beállításfájlt ~/.dbsqlcli/dbsqlclirc
Unix, Linux és macOS rendszeren, valamint Windowson %HOMEDRIVE%%HOMEPATH%\.dbsqlcli\dbsqlclirc
vagy %USERPROFILE%\.dbsqlcli\dbsqlclirc
windowson. A fájl testreszabása:
A fájl megnyitásához és szerkesztéséhez használjon szövegszerkesztőt
dbsqlclirc
.Görgessen a következő szakaszhoz:
# [credentials] # host_name = "" # http_path = "" # access_token = ""
Távolítsa el a négy
#
karaktert, és:-
host_name
A következő lépésben adja meg a raktár kiszolgálói állomásneve értékét a""
karakterek közötti követelményekből. -
http_path
A mellett adja meg a raktár HTTP-elérési útvonalának értékét a""
karakterek közötti követelményekből. -
access_token
Ezután adja meg a személyes hozzáférési jogkivonat értékét a""
karakterek közötti követelményekből.
Példa:
[credentials] host_name = "adb-12345678901234567.8.azuredatabricks.net" http_path = "/sql/1.0/warehouses/1abc2d3456e7f890a" access_token = "dapi12345678901234567890123456789012"
-
Mentse a
dbsqlclirc
fájlt.
Másik lehetőségként ahelyett, hogy a fájlt az dbsqlclirc
alapértelmezett helyén használja, megadhat egy másik helyen lévő fájlt úgy, hogy hozzáadja a --clirc
parancsbeállítást és az alternatív fájl elérési útját. A másodlagos fájl tartalmának meg kell felelnie az előző szintaxisnak.
Környezeti változók
Ha a DBSQLCLI_HOST_NAME
Databricks SQL CLI-nek a Databricks SQL Warehouse hitelesítési adataival való megadásához a , DBSQLCLI_HTTP_PATH
és DBSQLCLI_ACCESS_TOKEN
a környezeti változókat szeretné használni, tegye a következőket:
Unix, Linux és macOS
Ha csak az aktuális terminálmunkamenet környezeti változóit szeretné beállítani, futtassa az alábbi parancsokat. Az összes terminál-munkamenet környezeti változóinak beállításához írja be a következő parancsokat a rendszerhéj indítási fájljába, majd indítsa újra a terminált. A következő parancsokban cserélje le a következő értékeket:
-
DBSQLCLI_HOST_NAME
a raktár kiszolgálói állomásnévértékével a követelményekből. -
DBSQLCLI_HTTP_PATH
a raktár HTTP-elérési útvonalának értékét a követelményekből. -
DBSQLCLI_ACCESS_TOKEN
a személyes hozzáférési jogkivonat értékével a követelményekből.
export DBSQLCLI_HOST_NAME="adb-12345678901234567.8.azuredatabricks.net"
export DBSQLCLI_HTTP_PATH="/sql/1.0/warehouses/1abc2d3456e7f890a"
export DBSQLCLI_ACCESS_TOKEN="dapi12345678901234567890123456789012"
Windows
Ha csak az aktuális parancssori munkamenet környezeti változóit szeretné beállítani, futtassa a következő parancsokat, és cserélje le a következő értéket:
-
DBSQLCLI_HOST_NAME
a raktár kiszolgálói állomásnévértékével a követelményekből. -
DBSQLCLI_HTTP_PATH
a raktár HTTP-elérési útvonalának értékét a követelményekből. -
DBSQLCLI_ACCESS_TOKEN
a személyes hozzáférési jogkivonat értékével a követelményekből:
set DBSQLCLI_HOST_NAME="adb-12345678901234567.8.azuredatabricks.net"
set DBSQLCLI_HTTP_PATH="/sql/1.0/warehouses/1abc2d3456e7f890a"
set DBSQLCLI_ACCESS_TOKEN="dapi12345678901234567890123456789012"
Az összes parancssori munkamenet környezeti változóinak beállításához futtassa a következő parancsokat, majd indítsa újra a parancssort, és cserélje le a következő értéket:
-
DBSQLCLI_HOST_NAME
a raktár kiszolgálói állomásnévértékével a követelményekből. -
DBSQLCLI_HTTP_PATH
a raktár HTTP-elérési útvonalának értékét a követelményekből. -
DBSQLCLI_ACCESS_TOKEN
a személyes hozzáférési jogkivonat értékével a követelményekből.
setx DBSQLCLI_HOST_NAME "adb-12345678901234567.8.azuredatabricks.net"
setx DBSQLCLI_HTTP_PATH "/sql/1.0/warehouses/1abc2d3456e7f890a"
setx DBSQLCLI_ACCESS_TOKEN "dapi12345678901234567890123456789012"
Parancsbeállítások
Ha a Databricks SQL CLI-nek a Databricks SQL Warehouse hitelesítési adatait meg szeretné adni, használja az --hostname
--http-path
--access-token
alábbi lehetőségeket:
Minden alkalommal hajtsa végre a következőket, amikor parancsot futtat a Databricks SQL CLI-vel:
- Adja meg a
--hostname
beállítást és a raktár kiszolgálói állomásnév értékét a követelmények közül. - Adja meg a
--http-path
beállítást és a raktár HTTP-elérési útvonalának értékét a követelményekből. - Adja meg a
--access-token
beállítást és a személyes hozzáférési jogkivonat értékét a követelményekből.
Példa:
dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2" \
--hostname "adb-12345678901234567.8.azuredatabricks.net" \
--http-path "/sql/1.0/warehouses/1abc2d3456e7f890a" \
--access-token "dapi12345678901234567890123456789012"
Lekérdezési források
A Databricks SQL CLI-vel a következő módokon futtathat lekérdezéseket:
- Lekérdezési sztringből.
- Fájlból.
- Read-evaluate-print loop (REPL) megközelítésben. Ez a megközelítés beíráskor javaslatokat nyújt.
Lekérdezési sztring
Ha sztringként szeretne lekérdezést futtatni, használja a -e
lekérdezést követő beállítást, amelyet sztringként jelöl. Példa:
dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2"
Hozam:
_c0,carat,cut,color,clarity,depth,table,price,x,y,z
1,0.23,Ideal,E,SI2,61.5,55,326,3.95,3.98,2.43
2,0.21,Premium,E,SI1,59.8,61,326,3.89,3.84,2.31
A kimeneti formátumok közötti váltáshoz használja a --table-format
beállítást egy olyan értékkel együtt, mint ascii
az ASCII táblaformátum, például:
dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2" --table-format ascii
Hozam:
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _c0 | carat | cut | color | clarity | depth | table | price | x | y | z |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| 1 | 0.23 | Ideal | E | SI2 | 61.5 | 55 | 326 | 3.95 | 3.98 | 2.43 |
| 2 | 0.21 | Premium | E | SI1 | 59.8 | 61 | 326 | 3.89 | 3.84 | 2.31 |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
Az elérhető kimeneti formátumértékek listáját a fájlban lévő beállítás megjegyzéseiben table_format
dbsqlclirc
találja.
Fájl
SQL-t tartalmazó fájl futtatásához használja a -e
fájl elérési útját .sql
követő lehetőséget. Példa:
dbsqlcli -e my-query.sql
A példafájl my-query.sql
tartalma:
SELECT * FROM default.diamonds LIMIT 2;
Hozam:
_c0,carat,cut,color,clarity,depth,table,price,x,y,z
1,0.23,Ideal,E,SI2,61.5,55,326,3.95,3.98,2.43
2,0.21,Premium,E,SI1,59.8,61,326,3.89,3.84,2.31
A kimeneti formátumok közötti váltáshoz használja a --table-format
beállítást egy olyan értékkel együtt, mint ascii
az ASCII táblaformátum, például:
dbsqlcli -e my-query.sql --table-format ascii
Hozam:
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _c0 | carat | cut | color | clarity | depth | table | price | x | y | z |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| 1 | 0.23 | Ideal | E | SI2 | 61.5 | 55 | 326 | 3.95 | 3.98 | 2.43 |
| 2 | 0.21 | Premium | E | SI1 | 59.8 | 61 | 326 | 3.89 | 3.84 | 2.31 |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
Az elérhető kimeneti formátumértékek listáját a fájlban lévő beállítás megjegyzéseiben table_format
dbsqlclirc
találja.
REPL
Az alapértelmezett adatbázisra hatókörrel tartozó olvasási-kiértékelő-nyomtatási ciklus (REPL) megadásához futtassa a következő parancsot:
dbsqlcli
Az alábbi parancs futtatásával egy adott adatbázisra vonatkozó REPL módot is megadhat:
dbsqlcli <database-name>
Példa:
dbsqlcli default
A REPL módból való kilépéshez futtassa a következő parancsot:
exit
REPL módban a következő karaktereket és kulcsokat használhatja:
- A pontosvesszővel (
;
) fejezhet be egy sort. - A többsoros mód váltásához használja az F3-at .
- A szóköz használatával javaslatokat jeleníthet meg a beszúrási ponton, ha a javaslatok még nem jelennek meg.
- A felfelé és lefelé mutató nyilakkal navigálhat a javaslatok között.
- A jobbra mutató nyíllal fejezze be a kiemelt javaslatot.
Példa:
dbsqlcli default
hostname:default> SELECT * FROM diamonds LIMIT 2;
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _c0 | carat | cut | color | clarity | depth | table | price | x | y | z |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| 1 | 0.23 | Ideal | E | SI2 | 61.5 | 55 | 326 | 3.95 | 3.98 | 2.43 |
| 2 | 0.21 | Premium | E | SI1 | 59.8 | 61 | 326 | 3.89 | 3.84 | 2.31 |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
2 rows in set
Time: 0.703s
hostname:default> exit
Naplózás
A Databricks SQL CLI alapértelmezés szerint naplózza az üzeneteit a fájlba ~/.dbsqlcli/app.log
. A fájl nevének vagy helyének módosításához módosítsa a log_file
beállítás értékét a dbsqlclirc
beállításfájlban.
Alapértelmezés szerint az üzenetek naplózása a INFO
napló szintjén és alatta van. A naplószint módosításához módosítsa a log_level
beállítás értékét a dbsqlclirc
beállításfájlban. A rendelkezésre álló naplószintű értékek közé tartozik CRITICAL
a , ERROR
, WARNING
, INFO
és DEBUG
a kiértékelése ebben a sorrendben.
NONE
letiltja a naplózást.