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 írnia python3 .) 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-e pip , futtassa a parancsot pip --version a terminálból vagy a parancssorból. (Egyes rendszereken előfordulhat, hogy inkább be kell írnia pip3 .) 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 jogkivonatának hitelesítését. A Microsoft Entra ID (korábbi nevén Azure Active Directory) jogkivonatok nem támogatottak.

Az Azure Databricks személyes hozzáférési jogkivonat-hitelesítésének használatához hozzon létre egy személyes hozzáférési jogkivonatot az alábbiak szerint:

  1. Az Azure Databricks-munkaterületen kattintson az Azure Databricks-felhasználónevére a felső sávon, majd válassza Gépház a legördülő menüből.
  2. Kattintson a Fejlesztőeszközök elemre.
  3. Az Access-jogkivonatok mellett kattintson a Kezelés gombra.
  4. Kattintson az Új jogkivonat létrehozása elemre.
  5. (Nem kötelező) Írjon be egy megjegyzést, amely segít azonosítani a jogkivonatot a jövőben, és módosíthatja a jogkivonat alapértelmezett 90 napos élettartamát. Élettartam nélküli (nem ajánlott) jogkivonat létrehozásához hagyja üresen az Élettartam (nap) mezőt (üres).
  6. Kattintson a Létrehozás lehetőségre.
  7. Másolja a megjelenített jogkivonatot egy biztonságos helyre, majd kattintson a Kész gombra.

Feljegyzés

Ügyeljen arra, hogy a másolt jogkivonatot biztonságos helyre mentse. Ne ossza meg másokkal a másolt jogkivonatot. Ha elveszíti a másolt jogkivonatot, nem tudja pontosan ugyanazt a jogkivonatot újragenerálni. Ehelyett meg kell ismételnie ezt az eljárást egy új jogkivonat létrehozásához. Ha elveszíti a másolt jogkivonatot, vagy úgy véli, hogy a jogkivonat sérült, a Databricks határozottan javasolja, hogy azonnal törölje a jogkivonatot a munkaterületről az Access-jogkivonatok lapon a jogkivonat melletti kuka (Visszavonás) ikonra kattintva.

Ha nem tud jogkivonatokat létrehozni vagy használni a munkaterületen, ennek az lehet az oka, hogy a munkaterület rendszergazdája letiltotta a jogkivonatokat, vagy nem adott engedélyt a jogkivonatok létrehozására vagy használatára. Tekintse meg a munkaterület rendszergazdáját vagy a következőket:

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 Gépház fájlt.
  • A környezeti és DBSQLCLI_ACCESS_TOKEN a DBSQLCLI_HOST_NAMEkörnyezeti DBSQLCLI_HTTP_PATH változók beállításával. Lásd: Környezeti változók.
  • A databricks SQL CLI-vel --hostnamefuttatott 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:

  1. A --hostname, --http-pathés --access-token a beállítások.
  2. A DBSQLCLI_HOST_NAME, DBSQLCLI_HTTP_PATH és DBSQLCLI_ACCESS_TOKEN környezeti változók.
  3. 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).

Gépház 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:

  1. A fájl megnyitásához és szerkesztéséhez használjon szövegszerkesztőt dbsqlclirc .

  2. Görgessen a következő szakaszhoz:

    # [credentials]
    # host_name = ""
    # http_path = ""
    # access_token = ""
    
  3. Távolítsa el a négy # karaktert, és:

    1. host_nameA 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.
    2. http_pathA mellett adja meg a raktár HTTP-elérési útvonalának értékét a "" karakterek közötti követelményekből.
    3. access_tokenEzutá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"
    
  4. 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_NAMEDatabricks 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"

Kimenet:

_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

Kimenet:

+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _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_formatdbsqlclirc 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;

Kimenet:

_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

Kimenet:

+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _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_formatdbsqlclirc 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 dbsqlclircbeá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 CRITICALa , ERROR, WARNING, INFOés DEBUG a kiértékelése ebben a sorrendben. NONE letiltja a naplózást.

További erőforrások