Databricks CLI

Databricks kommandoradsgränssnitt (CLI) är ett lättanvänt gränssnitt till Azure Databricks-plattformen. Projektet med öppen källkod finns på GitHub. CLI:n är byggd på Databricks REST API 2.0 och är indelad i kommandogrupper som baseras på arbetsyte-API, kluster-API, API för instanspooler, DBFS-API, grupp-API, jobb-API, biblioteks-API och hemlighets-API: workspace, clusters, instance-pools, fs, groups, jobs, runs, libraries och secrets.

Viktigt

Denna CLI är under aktiv utveckling och släpps som en experimentell klient. Det innebär att gränssnitt fortfarande kan komma att ändras.

Konfigurera CLI

Det här avsnittet beskriver krav för CLI och hur du installerar och konfigurerar din miljö för att köra CLI.

Krav

  • Python 3 – 3.6 och senare

  • Python 2 – 2.7.9 och senare

    Viktigt

    På MacOS implementerar inte standardinstallationen av Python 2 TLSv1_2-protokollet. Körning av kommandoradsgränssnittet med en sådan Python-installation resulterar i följande fel: AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'. Använd Homebrew för att installera en version av Python som har ssl.PROTOCOL_TLSv1_2.

Begränsningar

Det går inte att använda Databricks CLI med brandväggsaktiverade lagringscontainrar. Databricks rekommenderar att du använder Databricks Connect eller az storage.

Installera CLI

Kör pip install databricks-cli med rätt version av pip för din Python-installation.

Konfigurera autentisering

Innan du kan köra CLI-kommandon måste du konfigurera autentisering. För att autentisera till CLI kan du använda en personlig Databricks-åtkomsttoken eller en Azure Active Directory-token (Azure AD).

Konfigurera autentisering med hjälp av en Azure AD-token

Om du vill konfigurera CLI med hjälp av en Azure AD-token genererar du Azure AD-token och lagrar den i miljövariabeln DATABRICKS_AAD_TOKEN.

export DATABRICKS_AAD_TOKEN=<azure-ad-token>

Kör databricks configure --aad-token. Kommandot utfärdar prompten:

Databricks Host (should begin with https://):

Ange URL:en per arbetsyta med formatet adb-<workspace-id>.<random-number>.azuredatabricks.net Information om hur du hämtar URL:en per arbetsyta finns i URL per arbetsyta.

När du har slutfört prompten lagras dina autentiseringsuppgifter i filen ~/.databrickscfg. Filen ska innehålla poster som:

host = https://<databricks-instance>
token =  <azure-ad-token>

Konfigurera autentisering med hjälp av en personlig Databricks-åtkomsttoken

Kör databricks configure --token för att konfigurera CLI att använda personlig åtkomsttoken. Kommandot utfärdar prompterna:

Databricks Host (should begin with https://):
Token:

När du har slutfört prompterna lagras dina autentiseringsuppgifter i filen ~/.databrickscfg. Filen ska innehålla poster som:

host = https://<databricks-instance>
token =  <personal-access-token>

För CLI 0.8.1 och senare kan du ändra sökvägen till filen genom att ställa in miljövariabeln DATABRICKS_CONFIG_FILE.

Viktigt

Eftersom CLI:n är byggd på REST-API:n, har din autentiseringskonfiguration i . netrc-filen företräde framför konfigurationen i .databrickscfg.

CLI 0.8.0 och senare har stöd för följande miljövariabler:

  • DATABRICKS_HOST
  • DATABRICKS_TOKEN

En miljövariabelinställning har företräde framför inställningen i konfigurationsfilen.

Anslutningsprofiler

Databricks CLI-konfiguration stöder flera anslutningsprofiler. Samma installation av Databricks CLI kan användas för att skapa API-anrop på flera Azure Databricks-arbetsytor.

Så här lägger du till en anslutningsprofil:

databricks configure [--profile <profile>]

För att använda anslutningsprofilen:

databricks workspace ls --profile <profile>

Alias för kommandogrupper

Ibland kan det vara opraktiskt att sätta ett prefix på varje CLI-anrop i form av namnet på en kommandogrupp, som databricks workspace ls. Om du vill göra CLI:n enklare att använda kan du skapa alias för kommandogrupper för kortare kommandon. Om du till exempel vill förkorta databricks workspace ls till dw ls i Bourne Again Shell, kan du lägga till alias dw="databricks workspace" till den aktuella bash-profilen. Den här filen finns normalt på ~/.bash_profile.

Tips

Azure Databricks har redan gett databricks fs aliaset dbfs. databricks fs ls och dbfs ls är likvärdiga.

Använda CLI

Det här avsnittet visar hur du kan få hjälp med CLI, parsa CLI-utdata och anropa kommandon i varje kommandogrupp.

Visa hjälp för CLI-kommandogrupper

Du listar underkommandona för varje kommandogrupp genom att köra databricks <group> -h. Du listar t.ex. DBFS CLI-underkommandona genom att köra databricks fs -h.

Använda jq för att parsa CLI-utdata

Vissa Databricks CLI-kommandon matar ut JSON-svaret från API-slutpunkten. Ibland kan det vara användbart att parsa ut delar av JSON för att ansluta till andra kommandon. Om du till exempel vill kopiera en jobbdefinition måste du ta settings-fältet för /api/2.0/jobs/get och använda det som ett argument till kommandot databricks jobs create.

I de här fallen rekommenderar vi att du använder jq-verktyget. Du kan installera jq på MacOS med hjälp av Homebrew med brew install jq.

Mer information om jq finns i jq-användarhandboken.

JSON-strängparametrar

Strängparametrar hanteras på olika sätt beroende på operativsystemet:

  • Unix: Du måste omge JSON-strängparametrar med enkla citattecken. Ett exempel:

    databricks jobs run-now --job-id 9 --jar-params '["20180505", "alantest"]'
    
  • Windows: Du måste omge JSON-strängparametrar med dubbla citattecken och citattecknen i strängen måste föregås av \. Ett exempel:

    databricks jobs run-now --job-id 9 --jar-params "[\"20180505\", \"alantest\"]"
    

CLI-kommandon