CLI di Databricks (legacy)
Importante
Questa documentazione è stata ritirata e potrebbe non essere aggiornata.
Databricks consiglia di usare la CLI di Databricks versione 0.205 o successiva anziché la CLI legacy di Databricks versione 0.18 o precedente. La CLI di Databricks versione 0.18 o precedente non è supportata da Databricks. Per informazioni sulla CLI di Databricks versione 0.205 o successiva, vedere Che cos'è la CLI di Databricks?.
Per eseguire la migrazione dalla CLI di Databricks versione 0.18 o precedente alla CLI di Databricks versione 0.205 o successiva, vedere Migrazione della CLI di Databricks.
La CLI legacy di Databricks si trova in uno stato di sperimentazione. Attualmente, Databricks non pianifica alcuna nuova funzionalità per la CLI legacy di Databricks.
La CLI legacy di Databricks non è supportata tramite i canali di supporto di Databricks. Per fornire commenti e suggerimenti, porre domande e segnalare i problemi, usare la scheda Problemi nel repository CLI di Databricks su GitHub.
L'interfaccia della riga di comando legacy di Databricks (nota anche come CLI legacy di Databricks) è un'utilità che fornisce un'interfaccia facile da usare per automatizzare la piattaforma Azure Databricks dal terminale, dal prompt dei comandi o dagli script di automazione.
Requisiti
- Python 3 - 3.6 e versioni successive
- Python 2 - 2.7.9 e versioni successive
Importante
In MacOS l'installazione predefinita di Python 2 non implementa il protocollo TLSv1_2; eseguire la CLI legacy di Databricks con questa installazione di Python restituisce l'errore AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'
. Usare Homebrew per installare una versione di Python che includa ssl.PROTOCOL_TLSv1_2
.
Limiti
L'uso della CLI legacy di Databricks con i contenitori di archiviazione abilitati per il firewall non è supportato In Databricks è consigliabile usare Databricks Connect o az storage.
Configurare la CLI
Questa sezione descrive come configurare la CLI legacy di Databricks.
Installare o aggiornare la CLI
Questa sezione descrive come installare o aggiornare il computer di sviluppo per eseguire la CLI legacy di Databricks.
Installare la CLI
Eseguire pip install databricks-cli
usando la versione appropriata di pip
per l'installazione di Python.
pip install databricks-cli
Aggiornare la CLI
Eseguire pip install databricks-cli --upgrade
usando la versione appropriata di pip
per l'installazione di Python.
pip install databricks-cli --upgrade
Per elencare la versione della CLI legacy di Databricks attualmente installata, eseguire databricks --version
:
databricks --version
Configurare l'autenticazione
Prima di eseguire i comandi della CLI legacy di Databricks, è necessario configurare l'autenticazione tra la CLI legacy di Databricks e Azure Databricks. Questa sezione descrive come configurare l'autenticazione per la CLI legacy di Databricks.
Per eseguire l'autenticazione con la CLI legacy di Databricks, è possibile usare un token di accesso personale di Databricks o un token di Microsoft Entra ID (in precedenza Azure Active Directory).
Nota
Come procedura consigliata per la sicurezza, quando si esegue l'autenticazione con strumenti automatizzati, sistemi, script e app, Databricks consiglia di usare token di accesso personali appartenenti alle entità servizio, anziché agli utenti dell'area di lavoro. Per creare token per le entità servizio, consultare Gestire i token per un'entità servizio.
Configurare l'autenticazione con l'uso di un token di Microsoft Entra ID
Per configurare la CLI legacy di Databricks usando un token di Microsoft Entra ID, generare il token di Microsoft Entra ID (in precedenza Azure Active Directory) e archiviarlo nella variabile di ambiente DATABRICKS_AAD_TOKEN
.
Esegui questo comando:
databricks configure --aad-token
Il comando visualizza la richiesta:
Databricks Host (should begin with https://):
Immettere l'URL per area di lavoro con il formato https://adb-<workspace-id>.<random-number>.azuredatabricks.net
. Per ottenere l'URL per area di lavoro, vedere URL per area di lavoro.
Dopo aver completato la richiesta, le credenziali di accesso vengono archiviate nel file ~/.databrickscfg
su Linux o macOS o in %USERPROFILE%\.databrickscfg
su Windows. Il file contiene una voce del profilo predefinita:
[DEFAULT]
host = <workspace-URL>
token = <Azure-AD-token>
Se il file .databrickscfg
esiste già, il profilo di configurazione del file DEFAULT
viene sovrascritto con i nuovi dati. Per creare un profilo di configurazione con un nome diverso, vedere Profili di connessione.
Configurare l'autenticazione con l'uso di un token di accesso personale di Databricks
Per configurare la CLI legacy di Databricks per l'uso di un token di accesso personale, eseguire il comando seguente:
databricks configure --token
Il comando inizia visualizzando la richiesta:
Databricks Host (should begin with https://):
Immettere l'URL per area di lavoro con il formato https://adb-<workspace-id>.<random-number>.azuredatabricks.net
. Per ottenere l'URL per area di lavoro, vedere URL per area di lavoro.
Il comando continua visualizzando la richiesta per immettere il token di accesso personale:
Token:
Dopo aver completato le richieste, le credenziali di accesso vengono archiviate nel file ~/.databrickscfg
su Linux o macOS o in %USERPROFILE%\.databrickscfg
su Windows. Il file contiene una voce del profilo predefinita:
[DEFAULT]
host = <workspace-URL>
token = <personal-access-token>
Se il file .databrickscfg
esiste già, il profilo di configurazione del file DEFAULT
viene sovrascritto con i nuovi dati. Per creare un profilo di configurazione con un nome diverso, vedere Profili di connessione.
Per la CLI 0.8.1 e versioni successive, è possibile modificare il percorso di questo file impostando la variabile di ambiente DATABRICKS_CONFIG_FILE
.
Linux o macOS
export DATABRICKS_CONFIG_FILE=<path-to-file>
Windows
setx DATABRICKS_CONFIG_FILE "<path-to-file>" /M
Importante
A partire dalla CLI 0.17.2, la CLI non funziona con un file .netrc. È possibile avere un file .netrc
nell'ambiente per altri scopi, ma la CLI non userà il file .netrc
.
La CLI 0.8.0 e versioni successive supporta le seguenti variabili di ambiente di Azure Databricks:
DATABRICKS_HOST
DATABRICKS_TOKEN
Un'impostazione della variabile di ambiente ha la precedenza sull'impostazione specificata nel file di configurazione.
Testare la configurazione dell'autenticazione
Per verificare se l'autenticazione è stata configurata correttamente, è possibile eseguire un comando come il seguente:
databricks fs ls dbfs:/
In caso di esito positivo, questo comando elenca i file e le directory nel root DBFS dell'area di lavoro associata al profilo DEFAULT
.
Profili di connessione
La configurazione della CLI legacy di Databricks supporta più profili di connessione. È possibile usare la stessa installazione della CLI legacy di Databricks per eseguire chiamate API su più aree di lavoro di Azure Databricks.
Per aggiungere un profilo di connessione, specificare un nome univoco per il profilo:
databricks configure [--token | --aad-token] --profile <profile-name>
Il file .databrickscfg
contiene una voce del profilo corrispondente:
[<profile-name>]
host = <workspace-URL>
token = <token>
Per usare il profilo di connessione:
databricks <group> <command> --profile <profile-name>
Se --profile <profile-name>
non viene specificato, viene usato il valore predefinito. Se non viene trovato un profilo predefinito, viene richiesto di configurare la CLI con un profilo predefinito.
Testare la connessione dei profili
Per verificare se i profili di connessione sono stati configurati correttamente, è possibile eseguire un comando come il seguente con il nome di uno dei profili di connessione:
databricks fs ls dbfs:/ --profile <profile-name>
In caso di esito positivo, questo comando elenca i file e le directory nel root DBFS dell'area di lavoro per il profilo di connessione specificato. Eseguire questo comando per ogni profilo di connessione da testare.
Per visualizzare i profili disponibili, vedere il file .databrickscfg
.
Usare la CLI
Questa sezione illustra come visualizzare la guida della CLI legacy di Databricks, analizzare l'output della CLI legacy di Databricks e richiamare i comandi in ogni gruppo di comandi.
Visualizzare la guida del gruppo di comandi della CLI
È possibile elencare i sottocomandi per qualsiasi gruppo di comandi usando l'opzione --help
o -h
. Ad esempio, per visualizzare l'elenco dei sottocomandi della CLI di DBFS, eseguire:
databricks fs -h
Visualizzare la Guida al sottocomando della CLI
Per elencare la Guida per un sottocomando si usa l'opzione --help
o -h
. Ad esempio, per elencare la Guida per il sottocomando dei file di copia DBFS:
databricks fs cp -h
Definire un alias per i gruppi di comandi
In alcuni casi può risultare scomodo anteporre il nome di un gruppo di comandi a ogni chiamata della CLI legacy di Databricks, ad esempio databricks workspace ls
nella CLI legacy di Databricks. Per semplificare l'uso della CLI legacy di Databricks, è possibile definire un alias per i gruppi di comandi in modo da abbreviare i comandi.
Ad esempio, per abbreviare il comando databricks workspace ls
dw ls
nella shell bash (Bourne Again Shell), è possibile aggiungere alias dw="databricks workspace"
al profilo bash appropriato. Questo file si trova in genere in ~/.bash_profile
.
Suggerimento
La CLI legacy di Databricks ha già un alias di databricks fs
per dbfs
; databricks fs ls
e dbfs ls
sono equivalenti.
Usare jq
per analizzare l'output della CLI
Alcuni comandi della CLI legacy di Databricks visualizzano la risposta JSON restituita dall'endpoint API. In alcuni casi può essere utile analizzare parti del codice JSON per inviare tramite pipe altri comandi. Ad esempio, per copiare una definizione del processo, è necessario accettare il campo settings
di un comando ottieni processo e usarlo come argomento del comando crea processo. In questi casi, è consigliabile usare l'utilità jq
.
Ad esempio, il seguente comando stampa le impostazioni del processo con l'ID 233.
databricks jobs list --output JSON | jq '.jobs[] | select(.job_id == 233) | .settings'
Output:
{
"name": "Quickstart",
"new_cluster": {
"spark_version": "7.5.x-scala2.12",
"spark_env_vars": {
"PYSPARK_PYTHON": "/databricks/python3/bin/python3"
},
"num_workers": 8,
...
},
"email_notifications": {},
"timeout_seconds": 0,
"notebook_task": {
"notebook_path": "/Quickstart"
},
"max_concurrent_runs": 1
}
Come altro esempio, il seguente comando stampa solo i nomi e gli ID di tutti i cluster disponibili nell'area di lavoro:
databricks clusters list --output JSON | jq '[ .clusters[] | { name: .cluster_name, id: .cluster_id } ]'
Output:
[
{
"name": "My Cluster 1",
"id": "1234-567890-grip123"
},
{
"name": "My Cluster 2",
"id": "2345-678901-patch234"
}
]
È possibile installare jq
ad esempio su macOS usando Homebrew con brew install jq
o su Windows usando Chocolatey con choco install jq
. Per altre informazioni su jq
, vedere il manuale di jq.
Parametri della stringa JSON
I parametri di stringa vengono gestiti in modo diverso a seconda del sistema operativo:
Linux o macOS
è necessario racchiudere i parametri di stringa JSON tra virgolette singole. Ad esempio:
'["20180505", "alantest"]'
Finestre
è necessario racchiudere i parametri di stringa JSON tra virgolette doppie e le virgolette all'interno della stringa devono essere precedute da \
. Ad esempio:
"[\"20180505\", \"alantest\"]"
Risoluzione dei problemi
Nella seguenti sezioni vengono forniti suggerimenti per la risoluzione dei problemi comuni con la CLI legacy di Databricks.
Usare EOF insieme a databricks configure
non funziona
Per la CLI di Databricks 0.12.0 e versioni successive, l'uso della sequenza di fine del file (EOF
) in uno script per passare i parametri al comando databricks configure
, non funziona. Ad esempio, il seguente script fa sì che la CLI di Databricks ignori i parametri e non venga generato alcun messaggio di errore:
# Do not do this.
databricksUrl=<per-workspace-url>
databricksToken=<personal-access-token-or-Azure-AD-token>
databricks configure --token << EOF
$databricksUrl
$databricksToken
EOF
Per risolvere il problema, eseguire una di queste operazioni:
- Usare una delle altre opzioni di configurazione a livello di codice, come descritto in Configurare l'autenticazione.
- Aggiungere manualmente i valori
host
etoken
al file.databrickscfg
come descritto in Configurare l'autenticazione. - Effettuare il downgrade dell'installazione della CLI di Databricks alla versione 0.11.0 o precedente ed eseguire di nuovo lo script.
Comandi della CLI
- CLI dei criteri del cluster (legacy)
- CLI dei cluster (legacy)
- CLI di DBFS (legacy)
- CLI di Delta Live Tables (legacy)
- CLI dei gruppi (legacy)
- CLI pool di istanze (legacy)
- CLI dei processi (legacy)
- CLI delle librerie (legacy)
- CLI di Repos (legacy)
- Esegue la CLI (legacy)
- CLI dei segreti (legacy)
- CLI dello stack (legacy)
- CLI dei token (legacy)
- CLI di Unity Catalog (legacy)
- CLI dell'area di lavoro (legacy)