Rozhraní příkazového řádku SQL Databricks

Poznámka:

Tento článek se zabývá rozhraním příkazového řádku SQL Databricks, které poskytujeme tak, jak je, a Databricks ho nepodporuje prostřednictvím kanálů technické podpory zákazníků. Dotazy a žádosti o funkce je možné sdělit na stránce Problémy v úložišti databricks/databricks-sql-cli na GitHubu.

Rozhraní příkazového řádku SQL Databricks (Databricks SQL CLI) umožňuje spouštět dotazy SQL ve stávajících skladech Sql Databricks z terminálu nebo příkazového řádku Windows místo z umístění, jako je editor SQL Databricks nebo poznámkový blok Azure Databricks. Z příkazového řádku získáte funkce produktivity, jako jsou návrhy a zvýraznění syntaxe.

Požadavky

  • Alespoň jeden Databricks SQL Warehouse. Vytvořte sklad, pokud ho ještě nemáte.
  • Python 3.7 nebo vyšší Pokud chcete zkontrolovat, jestli máte nainstalovaný Python, spusťte příkaz python --version z terminálu nebo příkazového řádku. (V některých systémech možná budete muset místo toho zadat python3 .) Nainstalujte Python, pokud ho ještě nemáte nainstalovaný.
  • pip, instalační program balíčku pro Python. Ve výchozím nastavení se nainstalují pip novější verze Pythonu. Pokud chcete zkontrolovat, jestli jste nainstalovali pip , spusťte příkaz pip --version z terminálu nebo příkazového řádku. (V některých systémech možná budete muset místo toho zadat pip3 .) Nainstalujte pip, pokud ho ještě nemáte nainstalovaný.
  • (Volitelné) Nástroj pro vytváření a správu virtuálních prostředí Pythonu, jako je například venv. Virtuální prostředí pomáhají zajistit, abyste společně používali správné verze Pythonu a rozhraní příkazového řádku SQL Databricks. Nastavení a používání virtuálních prostředí je mimo rozsah tohoto článku. Další informace naleznete v tématu Vytváření virtuálních prostředí.

Instalace rozhraní příkazového řádku SQL Databricks

Po splnění požadavků nainstalujte balíček Rozhraní příkazového řádku SQL Databricks z indexu balíčků Pythonu (PyPI). Balíček Rozhraní příkazového řádku SQL Databricks můžete pip nainstalovat z PyPI spuštěním pip jednoho z následujících příkazů.

pip install databricks-sql-cli

# Or...

python -m pip install databricks-sql-cli

Pokud chcete upgradovat dříve nainstalovanou verzi rozhraní příkazového řádku SQL Databricks, spusťte pip jeden z následujících příkazů.

pip install databricks-sql-cli --upgrade

# Or...

python -m pip install databricks-sql-cli --upgrade

Pokud chcete zkontrolovat nainstalovanou verzi rozhraní příkazového řádku SQL Databricks, spusťte pip jedním z následujících příkazů.

pip show databricks-sql-cli

# Or...

python -m pip show databricks-sql-cli

Ověřování

Pokud chcete provést ověření, musíte zadat rozhraní příkazového řádku SQL Databricks s podrobnostmi o připojení vašeho skladu. Konkrétně potřebujete hodnoty názvu hostitele serveru a cesty HTTP. Musíte také produktovat Rozhraní příkazového řádku SQL Databricks se správnými přihlašovacími údaji pro ověření.

Rozhraní příkazového řádku SQL Databricks podporuje ověřování tokenů pat databricks. Tokeny Microsoft Entra ID (dříve Azure Active Directory) se nepodporují.

Pokud chcete použít ověřování osobního přístupového tokenu Azure Databricks, vytvořte osobní přístupový token následujícím způsobem:

  1. V pracovním prostoru Azure Databricks klikněte na své uživatelské jméno Azure Databricks v horním panelu a pak v rozevíracím seznamu vyberte Nastavení.
  2. Klikněte na Vývojář.
  3. Vedle přístupových tokenů klikněte na Spravovat.
  4. Klikněte na Vygenerovat nový token.
  5. (Volitelné) Zadejte komentář, který vám pomůže identifikovat tento token v budoucnu a změnit výchozí životnost tokenu na 90 dnů. Pokud chcete vytvořit token bez životnosti (nedoporučuje se), nechte pole Životnost (dny) prázdné (prázdné).
  6. Klikněte na Vygenerovat.
  7. Zkopírujte zobrazený token do zabezpečeného umístění a klikněte na tlačítko Hotovo.

Poznámka:

Nezapomeňte zkopírovaný token uložit do zabezpečeného umístění. Nesdílejte svůj zkopírovaný token s ostatními. Pokud ztratíte zkopírovaný token, nemůžete tento úplně stejný token znovu vygenerovat. Místo toho musíte tento postup zopakovat, abyste vytvořili nový token. Pokud ztratíte zkopírovaný token nebo se domníváte, že došlo k ohrožení zabezpečení tokenu, databricks důrazně doporučuje tento token okamžitě odstranit z pracovního prostoru kliknutím na ikonu koše (Odvolat) vedle tokenu na stránce Přístupové tokeny .

Pokud v pracovním prostoru nemůžete vytvářet nebo používat tokeny, může to být proto, že správce pracovního prostoru zakázal tokeny nebo vám neudělil oprávnění k vytváření nebo používání tokenů. Obraťte se na správce pracovního prostoru nebo následující:

Tyto ověřovací informace můžete zadat do Rozhraní příkazového řádku SQL Databricks několika způsoby:

  • dbsqlclirc V souboru nastavení ve výchozím umístění (nebo zadáním alternativního souboru nastavení prostřednictvím --clirc možnosti pokaždé, když spustíte příkaz pomocí Rozhraní příkazového řádku SQL Databricks). Viz Nastavení soubor.
  • Nastavením proměnných DBSQLCLI_HOST_NAMEDBSQLCLI_HTTP_PATH prostředí a DBSQLCLI_ACCESS_TOKEN a Viz proměnné prostředí.
  • --hostnameZadáním parametrů a --http-path--access-token možností při každém spuštění příkazu pomocí Rozhraní příkazového řádku SQL Databricks. Viz možnosti příkazu.

Poznámka:

Soubor dbsqlclirc nastavení musí být k dispozici, i když nastavíte předchozí proměnné prostředí nebo zadáte předchozí možnosti příkazu nebo obojí.

Pokaždé, když spustíte Rozhraní příkazového řádku SQL Databricks, vyhledá podrobnosti o ověřování v následujícím pořadí a zastaví se, když najde první sadu podrobností:

  1. The --hostname, --http-pathand --access-token options.
  2. DBSQLCLI_HTTP_PATH Proměnné DBSQLCLI_HOST_NAMEa DBSQLCLI_ACCESS_TOKEN proměnné prostředí.
  3. Soubor dbsqlclirc nastavení ve výchozím umístění (nebo alternativní soubor nastavení určený možností --clirc ).

Nastavení soubor

Pokud chcete použít dbsqlclirc soubor nastavení k poskytnutí rozhraní příkazového řádku SQL Databricks s podrobnostmi o ověřování pro databricks SQL Warehouse, spusťte nejprve rozhraní příkazového řádku SQL Databricks následujícím způsobem:

dbsqlcli

Rozhraní příkazového řádku SQL Databricks pro vás vytvoří soubor nastavení v ~/.dbsqlcli/dbsqlclirc systémech Unix, Linux a macOS a ve %HOMEDRIVE%%HOMEPATH%\.dbsqlcli\dbsqlclirc Windows.%USERPROFILE%\.dbsqlcli\dbsqlclirc Přizpůsobení tohoto souboru:

  1. K otevření a úpravě dbsqlclirc souboru použijte textový editor.

  2. Posuňte se k následující části:

    # [credentials]
    # host_name = ""
    # http_path = ""
    # access_token = ""
    
  3. Odeberte čtyři # znaky a:

    1. Vedle položky host_namezadejte hodnotu názvu hostitele serveru vašeho skladu z požadavků mezi "" znaky.
    2. Vedle položky http_pathzadejte hodnotu cesty HTTP vašeho skladu z požadavků mezi "" znaky.
    3. Vedle položky access_tokenzadejte hodnotu osobního přístupového tokenu z požadavků mezi "" znaky.

    Příklad:

    [credentials]
    host_name = "adb-12345678901234567.8.azuredatabricks.net"
    http_path = "/sql/1.0/warehouses/1abc2d3456e7f890a"
    access_token = "dapi12345678901234567890123456789012"
    
  4. Uložte soubor dbsqlclirc.

Případně můžete místo použití dbsqlclirc souboru ve výchozím umístění zadat soubor v jiném umístění přidáním --clirc možnosti příkazu a cesty k alternativnímu souboru. Obsah alternativního souboru musí odpovídat předchozí syntaxi.

Proměnné prostředí

Pokud chcete použít DBSQLCLI_HOST_NAMEproměnné prostředí a < DBSQLCLI_HTTP_PATHa0/> DBSQLCLI_ACCESS_TOKEN , které poskytují rozhraní příkazového řádku SQL Databricks s podrobnostmi o ověřování pro službu Databricks SQL Warehouse, postupujte takto:

Unix, linux a macos

Pokud chcete nastavit proměnné prostředí pouze pro aktuální relaci terminálu, spusťte následující příkazy. Pokud chcete nastavit proměnné prostředí pro všechny relace terminálu, zadejte do spouštěcího souboru prostředí následující příkazy a restartujte terminál. V následujících příkazech nahraďte hodnotu:

  • DBSQLCLI_HOST_NAMEs hodnotou názvu hostitele serveru vašeho skladu z požadavků.
  • DBSQLCLI_HTTP_PATHs hodnotou cesty HTTP vašeho skladu z požadavků.
  • DBSQLCLI_ACCESS_TOKEN s hodnotou vašeho osobního přístupového tokenu z požadavků.
export DBSQLCLI_HOST_NAME="adb-12345678901234567.8.azuredatabricks.net"
export DBSQLCLI_HTTP_PATH="/sql/1.0/warehouses/1abc2d3456e7f890a"
export DBSQLCLI_ACCESS_TOKEN="dapi12345678901234567890123456789012"

Windows

Pokud chcete nastavit proměnné prostředí pouze pro aktuální relaci příkazového řádku, spusťte následující příkazy a nahraďte hodnotu:

  • DBSQLCLI_HOST_NAMEs hodnotou názvu hostitele serveru vašeho skladu z požadavků.
  • DBSQLCLI_HTTP_PATHs hodnotou cesty HTTP vašeho skladu z požadavků.
  • DBSQLCLI_ACCESS_TOKEN s hodnotou vašeho osobního přístupového tokenu z požadavků:
set DBSQLCLI_HOST_NAME="adb-12345678901234567.8.azuredatabricks.net"
set DBSQLCLI_HTTP_PATH="/sql/1.0/warehouses/1abc2d3456e7f890a"
set DBSQLCLI_ACCESS_TOKEN="dapi12345678901234567890123456789012"

Pokud chcete nastavit proměnné prostředí pro všechny relace příkazového řádku, spusťte následující příkazy a restartujte příkazový řádek a nahraďte hodnotu:

  • DBSQLCLI_HOST_NAMEs hodnotou názvu hostitele serveru vašeho skladu z požadavků.
  • DBSQLCLI_HTTP_PATHs hodnotou cesty HTTP vašeho skladu z požadavků.
  • DBSQLCLI_ACCESS_TOKEN s hodnotou vašeho osobního přístupového tokenu z požadavků.
setx DBSQLCLI_HOST_NAME "adb-12345678901234567.8.azuredatabricks.net"
setx DBSQLCLI_HTTP_PATH "/sql/1.0/warehouses/1abc2d3456e7f890a"
setx DBSQLCLI_ACCESS_TOKEN "dapi12345678901234567890123456789012"

Možnosti příkazů

Pokud chcete použít --hostname, --http-patha --access-token možnosti poskytnout Databricks SQL CLI s podrobnostmi o ověřování pro Databricks SQL Warehouse, postupujte takto:

Při každém spuštění příkazu pomocí rozhraní příkazového řádku SQL Databricks postupujte následovně:

  • --hostname Zadejte možnost a hodnotu názvu hostitele serveru vašeho skladu z požadavků.
  • --http-path Zadejte možnost a hodnotu cesty HTTP vašeho skladu z požadavků.
  • --access-token Zadejte možnost a hodnotu vašeho osobního přístupového tokenu z požadavků.

Příklad:

dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2" \
--hostname "adb-12345678901234567.8.azuredatabricks.net" \
--http-path "/sql/1.0/warehouses/1abc2d3456e7f890a" \
--access-token "dapi12345678901234567890123456789012"

Zdroje dotazů

Rozhraní příkazového řádku SQL Databricks umožňuje spouštět dotazy následujícími způsoby:

  • Z řetězce dotazu.
  • Ze souboru.
  • V přístupu repl (read-evaluate-print loop). Tento přístup nabízí návrhy při psaní.

Řetězec dotazu

Pokud chcete spustit dotaz jako řetězec, použijte -e možnost následovanou dotazem reprezentovanou jako řetězec. Příklad:

dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2"

Výstup:

_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

Pokud chcete přepnout výstupní formáty, použijte --table-format možnost spolu s hodnotou, například ascii pro formát tabulky ASCII, například:

dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2" --table-format ascii

Výstup:

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

Seznam dostupných hodnot výstupního formátu najdete v komentářích k table_format nastavení v dbsqlclirc souboru.

Soubor

Pokud chcete spustit soubor, který obsahuje SQL, použijte -e možnost následovanou cestou k .sql souboru. Příklad:

dbsqlcli -e my-query.sql

Obsah ukázkového my-query.sql souboru:

SELECT * FROM default.diamonds LIMIT 2;

Výstup:

_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

Pokud chcete přepnout výstupní formáty, použijte --table-format možnost spolu s hodnotou, například ascii pro formát tabulky ASCII, například:

dbsqlcli -e my-query.sql --table-format ascii

Výstup:

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

Seznam dostupných hodnot výstupního formátu najdete v komentářích k table_format nastavení v dbsqlclirc souboru.

REPL

Pokud chcete zadat režim repl (read-evaluate-print), který je vymezený na výchozí databázi, spusťte následující příkaz:

dbsqlcli

Můžete také zadat režim REPL vymezený na konkrétní databázi spuštěním následujícího příkazu:

dbsqlcli <database-name>

Příklad:

dbsqlcli default

Pokud chcete ukončit režim REPL, spusťte následující příkaz:

exit

V režimu REPL můžete použít následující znaky a klíče:

  • Pomocí středníku (;) ukončete čáru.
  • K přepnutí víceřádkového režimu použijte klávesu F3 .
  • Pokud se návrhy nezobrazují, použijte mezerník k zobrazení návrhů na pozici kurzoru.
  • Pomocí šipek nahoru a dolů můžete procházet návrhy.
  • Pomocí šipky doprava dokončete zvýrazněný návrh.

Příklad:

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

Protokolování

Rozhraní příkazového řádku SQL Databricks protokoluje zprávy do souboru ~/.dbsqlcli/app.log ve výchozím nastavení. Chcete-li změnit název nebo umístění tohoto souboru, změňte hodnotu log_file nastavení v dbsqlclircsouboru nastavení.

Ve výchozím nastavení se zprávy protokolují na INFO úrovni protokolu a níže. Pokud chcete změnit tuto úroveň protokolu, změňte hodnotu log_level nastavení v dbsqlclirc souboru nastavení. Mezi dostupné hodnoty úrovně protokolu patří CRITICAL, , ERRORWARNING, INFOa DEBUG jsou vyhodnoceny v daném pořadí. NONE zakáže protokolování.

Další materiály