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 zadatpython3
.) 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 nainstalovalipip
, spusťte příkazpip --version
z terminálu nebo příkazového řádku. (V některých systémech možná budete muset místo toho zadatpip3
.) 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 tokeny PAT (Databricks). Pokud chcete použít ověřování PAT v Azure Databricks, musíte vytvořit osobní přístupový token. Podrobnosti o tomto procesu najdete v tématu Ověřování tokenů pat v Azure Databricks.
Tokeny ID Microsoft Entra se nepodporují.
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 Soubor Nastavení. - Nastavením proměnných
DBSQLCLI_HOST_NAME
DBSQLCLI_HTTP_PATH
prostředí aDBSQLCLI_ACCESS_TOKEN
a Viz proměnné prostředí. -
--hostname
Zadá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í:
- The
--hostname
,--http-path
and--access-token
options. -
DBSQLCLI_HOST_NAME
ProměnnéDBSQLCLI_HTTP_PATH
aDBSQLCLI_ACCESS_TOKEN
proměnné prostředí. - Soubor
dbsqlclirc
nastavení ve výchozím umístění (nebo alternativní soubor nastavení určený možností--clirc
).
Soubor nastavení
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:
K otevření a úpravě
dbsqlclirc
souboru použijte textový editor.Posuňte se k následující části:
# [credentials] # host_name = "" # http_path = "" # access_token = ""
Odeberte čtyři
#
znaky a:- Vedle položky
host_name
zadejte hodnotu názvu hostitele serveru vašeho skladu z požadavků mezi""
znaky. - Vedle položky
http_path
zadejte hodnotu cesty HTTP vašeho skladu z požadavků mezi""
znaky. - Vedle položky
access_token
zadejte 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"
- Vedle položky
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_NAME
proměnné prostředí a < DBSQLCLI_HTTP_PATH
a0/> 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_NAME
s hodnotou názvu hostitele serveru vašeho skladu z požadavků. -
DBSQLCLI_HTTP_PATH
s 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_NAME
s hodnotou názvu hostitele serveru vašeho skladu z požadavků. -
DBSQLCLI_HTTP_PATH
s 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_NAME
s hodnotou názvu hostitele serveru vašeho skladu z požadavků. -
DBSQLCLI_HTTP_PATH
s 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-path
a --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 dbsqlclirc
souboru 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
, , ERROR
WARNING
, INFO
a DEBUG
jsou vyhodnoceny v daném pořadí.
NONE
zakáže protokolování.