Interfaccia della riga di comando sql di Databricks
Nota
Questo articolo illustra l'interfaccia della riga di comando sql di Databricks, fornita così come è e non è supportata da Databricks tramite i canali di supporto tecnico del cliente. Le domande e le richieste di funzionalità possono essere comunicate tramite la pagina Problemi del repository databricks/databricks-sql-cli su GitHub.
L'interfaccia della riga di comando sql di Databricks (interfaccia della riga di comando sql di Databricks) consente di eseguire query SQL sui databricks sql warehouse esistenti dal terminale o dal prompt dei comandi di Windows anziché da posizioni come l'editor SQL di Databricks o un notebook di Azure Databricks. Dalla riga di comando si ottengono funzionalità di produttività, ad esempio suggerimenti ed evidenziazione della sintassi.
Requisiti
- Almeno un databricks SQL warehouse. Creare un magazzino, se non ne è già disponibile uno.
- Python 3.7 o versione successiva. Per verificare se Python è installato, eseguire il comando
python --version
dal terminale o dal prompt dei comandi. In alcuni sistemi potrebbe essere necessario immetterepython3
invece. Installare Python, se non è già installato. - pip, il programma di installazione del pacchetto per Python. Le versioni più recenti di Python vengono installate
pip
per impostazione predefinita. Per verificare se èpip
stato installato, eseguire il comandopip --version
dal terminale o dal prompt dei comandi. In alcuni sistemi potrebbe essere necessario immetterepip3
invece. Installare pip, se non è già installato. - (Facoltativo) Utilità per la creazione e la gestione di ambienti virtuali Python, ad esempio venv. Gli ambienti virtuali consentono di assicurarsi di usare insieme le versioni corrette di Python e l'interfaccia della riga di comando SQL di Databricks. La configurazione e l'uso di ambienti virtuali non rientra nell'ambito di questo articolo. Per altre informazioni, vedere Creazione di ambienti virtuali.
Installare l'interfaccia della riga di comando sql di Databricks
Dopo aver soddisfatto i requisiti, installare il pacchetto dell'interfaccia della riga di comando sql di Databricks da Python Packaging Index (PyPI). È possibile usare pip
per installare il pacchetto dell'interfaccia della riga di comando sql di Databricks da PyPI eseguendo pip
con uno dei comandi seguenti.
pip install databricks-sql-cli
# Or...
python -m pip install databricks-sql-cli
Per aggiornare una versione installata in precedenza dell'interfaccia della riga di comando sql di Databricks, eseguire pip
con uno dei comandi seguenti.
pip install databricks-sql-cli --upgrade
# Or...
python -m pip install databricks-sql-cli --upgrade
Per controllare la versione installata dell'interfaccia della riga di comando sql di Databricks, eseguire pip
con uno dei comandi seguenti.
pip show databricks-sql-cli
# Or...
python -m pip show databricks-sql-cli
Autenticazione
Per eseguire l'autenticazione, è necessario fornire all'interfaccia della riga di comando sql di Databricks i dettagli di connessione del warehouse. In particolare, sono necessari i valori nome host server e percorso HTTP. È anche necessario usare l'interfaccia della riga di comando sql di Databricks con le credenziali di autenticazione appropriate.
L'interfaccia della riga di comando di Databricks SQL supporta l'autenticazione del token di accesso personale di Databricks. I token di Microsoft Entra ID (in precedenza Azure Active Directory) non sono supportati.
Per usare l'autenticazione del token di accesso personale di Azure Databricks, creare un token di accesso personale come indicato di seguito:
- Nell'area di lavoro di Azure Databricks fare clic sul nome utente di Azure Databricks nella barra superiore e quindi selezionare Impostazioni dall'elenco a discesa.
- Fare clic su Sviluppatore.
- Accanto a Token di accesso fare clic su Gestisci.
- Fare clic su Genera nuovo token.
- (Facoltativo) Immettere un commento che consente di identificare questo token in futuro e modificare la durata predefinita del token di 90 giorni. Per creare un token senza durata (scelta non consigliata), lasciare vuota la casella Durata (giorni) (vuota).
- Fare clic su Genera.
- Copiare il token visualizzato in un percorso sicuro e quindi fare clic su Fine.
Nota
Assicurarsi di salvare il token copiato in un percorso sicuro. Non condividere il token copiato con altri utenti. Se si perde il token copiato, non è possibile rigenerare lo stesso token esatto. È invece necessario ripetere questa procedura per creare un nuovo token. Se si perde il token copiato o si ritiene che il token sia stato compromesso, Databricks consiglia vivamente di eliminare immediatamente il token dall'area di lavoro facendo clic sull'icona del cestino (Revoca) accanto al token nella pagina Token di accesso.
Se non è possibile creare o usare token nell'area di lavoro, questo potrebbe essere dovuto al fatto che l'amministratore dell'area di lavoro ha disabilitato i token o non ha concesso l'autorizzazione per creare o usare token. Vedere l'amministratore dell'area di lavoro o quanto segue:
È possibile fornire queste informazioni di autenticazione all'interfaccia della riga di comando sql di Databricks in diversi modi:
dbsqlclirc
Nel file delle impostazioni nel percorso predefinito (o specificando un file di impostazioni alternativo tramite l'opzione--clirc
ogni volta che si esegue un comando con l'interfaccia della riga di comando sql di Databricks). Vedere Impostazioni file.- Impostando le
DBSQLCLI_HOST_NAME
variabili diDBSQLCLI_HTTP_PATH
ambiente eDBSQLCLI_ACCESS_TOKEN
. Vedere Variabili di ambiente. - Specificando le
--hostname
opzioni ,--http-path
e--access-token
ogni volta che si esegue un comando con l'interfaccia della riga di comando sql di Databricks. Vedere Opzioni di comando.
Nota
Il dbsqlclirc
file di impostazioni deve essere presente, anche se si impostano le variabili di ambiente precedenti o si specificano le opzioni di comando precedenti o entrambe.
Ogni volta che si esegue l'interfaccia della riga di comando di Databricks SQL, cerca i dettagli di autenticazione nell'ordine seguente e si arresta quando trova il primo set di dettagli:
- Opzioni
--hostname
,--http-path
e--access-token
. - Variabili
DBSQLCLI_HOST_NAME
di ambiente eDBSQLCLI_HTTP_PATH
DBSQLCLI_ACCESS_TOKEN
. - Il
dbsqlclirc
file delle impostazioni nel percorso predefinito (o un file di impostazioni alternativo specificato dall'opzione--clirc
).
File di impostazioni
Per usare il dbsqlclirc
file di impostazioni per fornire all'interfaccia della riga di comando sql di Databricks i dettagli di autenticazione per databricks SQL Warehouse, eseguire l'interfaccia della riga di comando sql di Databricks per la prima volta, come indicato di seguito:
dbsqlcli
L'interfaccia della riga di comando sql di Databricks crea automaticamente un file di impostazioni in ~/.dbsqlcli/dbsqlclirc
Unix, Linux e macOS e in %HOMEDRIVE%%HOMEPATH%\.dbsqlcli\dbsqlclirc
o %USERPROFILE%\.dbsqlcli\dbsqlclirc
in Windows. Per personalizzare questo file:
Usare un editor di testo per aprire e modificare il
dbsqlclirc
file.Scorrere fino alla sezione seguente:
# [credentials] # host_name = "" # http_path = "" # access_token = ""
Rimuovere i quattro
#
caratteri e:- Accanto a
host_name
immettere il valore nome host del server del warehouse in base ai requisiti tra i""
caratteri. - Accanto a
http_path
immettere il valore del percorso HTTP del warehouse dai requisiti tra i""
caratteri. - Accanto a
access_token
immettere il valore del token di accesso personale dai requisiti tra i""
caratteri.
Ad esempio:
[credentials] host_name = "adb-12345678901234567.8.azuredatabricks.net" http_path = "/sql/1.0/warehouses/1abc2d3456e7f890a" access_token = "dapi12345678901234567890123456789012"
- Accanto a
Salvare il file
dbsqlclirc
.
In alternativa, anziché usare il dbsqlclirc
file nel percorso predefinito, è possibile specificare un file in un percorso diverso aggiungendo l'opzione --clirc
di comando e il percorso al file alternativo. Il contenuto del file alternativo deve essere conforme alla sintassi precedente.
Variabili di ambiente
Per usare le DBSQLCLI_HOST_NAME
variabili di ambiente , DBSQLCLI_HTTP_PATH
e DBSQLCLI_ACCESS_TOKEN
per fornire all'interfaccia della riga di comando sql di Databricks i dettagli di autenticazione per Databricks SQL Warehouse, eseguire le operazioni seguenti:
Unix, linux e macos
Per impostare le variabili di ambiente solo per la sessione del terminale corrente, eseguire i comandi seguenti. Per impostare le variabili di ambiente per tutte le sessioni del terminale, immettere i comandi seguenti nel file di avvio della shell e quindi riavviare il terminale. Nei comandi seguenti sostituire il valore di :
DBSQLCLI_HOST_NAME
con il valore nome host del server del magazzino in base ai requisiti.DBSQLCLI_HTTP_PATH
con il valore del percorso HTTP del warehouse in base ai requisiti.DBSQLCLI_ACCESS_TOKEN
con il valore del token di accesso personale dai requisiti.
export DBSQLCLI_HOST_NAME="adb-12345678901234567.8.azuredatabricks.net"
export DBSQLCLI_HTTP_PATH="/sql/1.0/warehouses/1abc2d3456e7f890a"
export DBSQLCLI_ACCESS_TOKEN="dapi12345678901234567890123456789012"
Windows
Per impostare le variabili di ambiente solo per la sessione del prompt dei comandi corrente, eseguire i comandi seguenti, sostituendo il valore di :
DBSQLCLI_HOST_NAME
con il valore nome host del server del magazzino in base ai requisiti.DBSQLCLI_HTTP_PATH
con il valore del percorso HTTP del warehouse in base ai requisiti.DBSQLCLI_ACCESS_TOKEN
con il valore del token di accesso personale dai requisiti:with your personal access token value from the requirements.:
set DBSQLCLI_HOST_NAME="adb-12345678901234567.8.azuredatabricks.net"
set DBSQLCLI_HTTP_PATH="/sql/1.0/warehouses/1abc2d3456e7f890a"
set DBSQLCLI_ACCESS_TOKEN="dapi12345678901234567890123456789012"
Per impostare le variabili di ambiente per tutte le sessioni del prompt dei comandi, eseguire i comandi seguenti e quindi riavviare il prompt dei comandi, sostituendo il valore di :
DBSQLCLI_HOST_NAME
con il valore nome host del server del magazzino in base ai requisiti.DBSQLCLI_HTTP_PATH
con il valore del percorso HTTP del warehouse in base ai requisiti.DBSQLCLI_ACCESS_TOKEN
con il valore del token di accesso personale dai requisiti.
setx DBSQLCLI_HOST_NAME "adb-12345678901234567.8.azuredatabricks.net"
setx DBSQLCLI_HTTP_PATH "/sql/1.0/warehouses/1abc2d3456e7f890a"
setx DBSQLCLI_ACCESS_TOKEN "dapi12345678901234567890123456789012"
Opzioni di comando
Per usare le --hostname
opzioni , --http-path
e --access-token
per fornire all'interfaccia della riga di comando sql di Databricks i dettagli di autenticazione per Databricks SQL Warehouse, eseguire le operazioni seguenti:
Eseguire le operazioni seguenti ogni volta che si esegue un comando con l'interfaccia della riga di comando sql di Databricks:
- Specificare l'opzione
--hostname
e il valore nome host del server del magazzino in base ai requisiti. - Specificare l'opzione e il
--http-path
valore del percorso HTTP del warehouse in base ai requisiti. - Specificare l'opzione e il
--access-token
valore del token di accesso personale dai requisiti.
Ad esempio:
dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2" \
--hostname "adb-12345678901234567.8.azuredatabricks.net" \
--http-path "/sql/1.0/warehouses/1abc2d3456e7f890a" \
--access-token "dapi12345678901234567890123456789012"
Origini di query
L'interfaccia della riga di comando di Databricks SQL consente di eseguire query nei modi seguenti:
- Da una stringa di query.
- Da un file.
- In un approccio REPL (Read-Evaluate-Print Loop). Questo approccio fornisce suggerimenti durante la digitazione.
Stringa di query
Per eseguire una query come stringa, usare l'opzione -e
seguita dalla query, rappresentata come stringa. Ad esempio:
dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2"
Output:
_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
Per cambiare i formati di output, usare l'opzione --table-format
insieme a un valore come ascii
per il formato di tabella ASCII, ad esempio:
dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2" --table-format ascii
Output:
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _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 |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
Per un elenco dei valori di formato di output disponibili, vedere i commenti per l'impostazione table_format
nel dbsqlclirc
file.
file
Per eseguire un file contenente SQL, usare l'opzione -e
seguita dal percorso di un .sql
file. Ad esempio:
dbsqlcli -e my-query.sql
Contenuto del file di esempio my-query.sql
:
SELECT * FROM default.diamonds LIMIT 2;
Output:
_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
Per cambiare i formati di output, usare l'opzione --table-format
insieme a un valore come ascii
per il formato di tabella ASCII, ad esempio:
dbsqlcli -e my-query.sql --table-format ascii
Output:
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _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 |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
Per un elenco dei valori di formato di output disponibili, vedere i commenti per l'impostazione table_format
nel dbsqlclirc
file.
REPL
Per immettere la modalità REPL (Read-Evaluate-Print Loop) con ambito nel database predefinito, eseguire il comando seguente:
dbsqlcli
È anche possibile immettere la modalità REPL con ambito in un database specifico, eseguendo il comando seguente:
dbsqlcli <database-name>
Ad esempio:
dbsqlcli default
Per uscire dalla modalità REPL, eseguire il comando seguente:
exit
In modalità REPL è possibile usare i caratteri e le chiavi seguenti:
- Usare il punto e virgola (
;
) per terminare una riga. - Usare F3 per attivare o disattivare la modalità multilinea.
- Usare la barra spaziatrice per visualizzare i suggerimenti nel punto di inserimento, se i suggerimenti non sono già visualizzati.
- Usare le frecce su e giù per spostarsi nei suggerimenti.
- Usare la freccia destra per completare il suggerimento evidenziato.
Ad esempio:
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
Registrazione
L'interfaccia della riga di comando di Databricks SQL registra i messaggi nel file ~/.dbsqlcli/app.log
per impostazione predefinita. Per modificare il nome o il percorso del file, modificare il valore dell'impostazione log_file
nel dbsqlclirc
file di impostazioni.
Per impostazione predefinita, i messaggi vengono registrati a INFO
livello di log e inferiori. Per modificare questo livello di log, modificare il valore dell'impostazione log_level
nel dbsqlclirc
file delle impostazioni. I valori a livello di log disponibili includono CRITICAL
, ERROR
WARNING
, INFO
, e DEBUG
vengono valutati in tale ordine. NONE
disabilita la registrazione.
Risorse aggiuntive
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per