Dela via


Databricks CLI (äldre)

Viktigt!

Den här dokumentationen har dragits tillbaka och kanske inte uppdateras.

Databricks rekommenderar att du använder Databricks CLI version 0.205 eller senare i stället för den äldre Databricks CLI-versionen 0.18 eller senare. Databricks CLI version 0.18 eller senare stöds inte av Databricks. Information om Databricks CLI-versionerna 0.205 och senare finns i Vad är Databricks CLI?.

Information om hur du migrerar från Databricks CLI version 0.18 eller senare till Databricks CLI version 0.205 eller senare finns i Databricks CLI-migrering.

Det äldre Databricks CLI är i ett experimentellt tillstånd. Databricks planerar att ingen ny funktion fungerar för det äldre Databricks CLI just nu.

Det äldre Databricks CLI stöds inte via Databricks Support-kanaler. Om du vill ge feedback, ställa frågor och rapportera problem använder du fliken Problem i kommandoradsgränssnittet för Databricks-lagringsplatsen i GitHub.

Det äldre databricks-kommandoradsgränssnittet (även kallat äldre Databricks CLI) är ett verktyg som tillhandahåller ett lättanvänt gränssnitt för att automatisera Azure Databricks-plattformen från terminalen, kommandotolken eller automationsskripten.

Krav

  • Python 3 – 3.6 och senare
  • Python 2 – 2.7.9 och senare

Viktigt!

På macOS implementerar standardinstallationen av Python 2 inte TLSv1_2-protokollet, och om du kör det äldre Databricks CLI med den här Python-installationen resulterar det i felet: 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 äldre Databricks CLI med brandväggsaktiverade lagringscontainrar. Databricks rekommenderar att du använder Databricks Connect eller az storage.

Konfigurera CLI

I det här avsnittet beskrivs hur du konfigurerar det äldre Databricks CLI.

Installera eller uppdatera CLI

I det här avsnittet beskrivs hur du installerar eller uppdaterar utvecklingsdatorn för att köra äldre Databricks CLI.

Installera CLI

Kör pip install databricks-cli med hjälp av lämplig version av pip för python-installationen:

pip install databricks-cli

Uppdatera CLI

Kör pip install databricks-cli --upgrade med hjälp av lämplig version av pip för python-installationen:

pip install databricks-cli --upgrade

Om du vill visa en lista över den version av det äldre Databricks CLI som är installerat kör databricks --versiondu :

databricks --version

Konfigurera autentisering

Innan du kan köra äldre Databricks CLI-kommandon måste du konfigurera autentisering mellan äldre Databricks CLI och Azure Databricks. I det här avsnittet beskrivs hur du konfigurerar autentisering för äldre Databricks CLI.

Om du vill autentisera med äldre Databricks CLI kan du använda en personlig Databricks-åtkomsttoken eller en Microsoft Entra-ID-token (tidigare Azure Active Directory).

Kommentar

När du autentiserar med automatiserade verktyg, system, skript och appar rekommenderar Databricks att du använder personliga åtkomsttoken som tillhör tjänstens huvudnamn i stället för arbetsyteanvändare. Information om hur du skapar token för tjänstens huvudnamn finns i Hantera token för tjänstens huvudnamn.

Konfigurera autentisering med en Microsoft Entra-ID-token

Om du vill konfigurera äldre Databricks CLI med hjälp av en Microsoft Entra-ID-token genererar du Microsoft Entra-ID:t (tidigare Azure Active Directory) och lagrar den i miljövariabeln DATABRICKS_AAD_TOKEN.

Kör följande kommando:

databricks configure --aad-token

Kommandot utfärdar prompten:

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

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

När du har slutfört uppmaningen lagras dina åtkomstautentiseringsuppgifter i filen ~/.databrickscfg på Linux eller macOS eller %USERPROFILE%\.databrickscfg i Windows. Filen innehåller en standardprofilpost:

[DEFAULT]
host = <workspace-URL>
token = <Azure-AD-token>

.databrickscfg Om filen redan finns skrivs den filens konfigurationsprofil DEFAULT över med nya data. Information om hur du skapar en konfigurationsprofil med ett annat namn finns i Anslutningsprofiler.

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

Kör följande kommando för att konfigurera äldre Databricks CLI att använda en personlig åtkomsttoken:

databricks configure --token

Kommandot börjar med att utfärda kommandotolken:

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

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

Kommandot fortsätter genom att utfärda prompten för att ange din personliga åtkomsttoken:

Token:

När du har slutfört anvisningarna lagras dina åtkomstautentiseringsuppgifter i filen ~/.databrickscfg på Linux eller macOS eller %USERPROFILE%\.databrickscfg i Windows. Filen innehåller en standardprofilpost:

[DEFAULT]
host = <workspace-URL>
token = <personal-access-token>

.databrickscfg Om filen redan finns skrivs den filens konfigurationsprofil DEFAULT över med nya data. Information om hur du skapar en konfigurationsprofil med ett annat namn finns i Anslutningsprofiler.

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.

Linux eller macOS
export DATABRICKS_CONFIG_FILE=<path-to-file>
Windows
setx DATABRICKS_CONFIG_FILE "<path-to-file>" /M

Viktigt!

Från och med CLI 0.17.2 fungerar INTE CLI med en .netrc-fil. Du kan ha en .netrc fil i din miljö för andra ändamål, men CLI använder .netrc inte den filen.

CLI 0.8.0 och senare stöder följande Azure Databricks-miljövariabler:

  • DATABRICKS_HOST
  • DATABRICKS_TOKEN

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

Testa autentiseringskonfigurationen

Om du vill kontrollera om du konfigurerar autentiseringen korrekt kan du köra ett kommando, till exempel följande:

databricks fs ls dbfs:/

Om det lyckas listar det här kommandot filerna och katalogerna i DBFS-roten på arbetsytan som är associerad med din DEFAULT profil.

Anslutningsprofiler

Den äldre Databricks CLI-konfigurationen stöder flera anslutningsprofiler. Samma installation av äldre Databricks CLI kan användas för att göra API-anrop på flera Azure Databricks-arbetsytor.

Om du vill lägga till en anslutningsprofil anger du ett unikt namn för profilen:

databricks configure [--token | --aad-token] --profile <profile-name>

Filen .databrickscfg innehåller en motsvarande profilpost:

[<profile-name>]
host = <workspace-URL>
token = <token>

För att använda anslutningsprofilen:

databricks <group> <command> --profile <profile-name>

Om --profile <profile-name> inte anges används standardprofilen. Om en standardprofil inte hittas uppmanas du att konfigurera CLI med en standardprofil.

Testa dina anslutningsprofiler

Om du vill kontrollera om du har konfigurerat anslutningsprofiler på rätt sätt kan du köra ett kommando, till exempel följande med ett av anslutningsprofilnamnen:

databricks fs ls dbfs:/ --profile <profile-name>

Om det här kommandot lyckas visas filerna och katalogerna i DBFS-roten på arbetsytan för den angivna anslutningsprofilen. Kör det här kommandot för varje anslutningsprofil som du vill testa.

Information om hur du visar tillgängliga profiler finns i .databrickscfg filen.

Använda CLI

Det här avsnittet visar hur du hämtar äldre Databricks CLI-hjälp, parsar äldre Databricks CLI-utdata och anropar kommandon i varje kommandogrupp.

Visa hjälp för CLI-kommandogrupper

Du listar underkommandona för alla kommandogrupper med hjälp --help av alternativet eller -h . Om du till exempel vill visa en lista över DBFS CLI-underkommandon:

databricks fs -h

Visa cli-underkommandohjälp

Du listar hjälpen för en underkommando med hjälp --help av alternativet eller -h . Om du till exempel vill visa hjälpen för DBFS-kopieringsfilerna underkommandot:

databricks fs cp -h

Aliaskommandogrupper

Ibland kan det vara obekvämt att prefixa varje äldre Databricks CLI-anrop med namnet på en kommandogrupp, till exempel databricks workspace ls i det äldre Databricks CLI. För att göra det äldre Databricks CLI enklare att använda kan du använda aliaskommandogrupper till kortare kommandon. Om du till exempel vill förkorta databricks workspace ls till dw ls i Bourne-gränssnittet igen kan du lägga till alias dw="databricks workspace" lämplig bash-profil. Den här filen finns normalt på ~/.bash_profile.

Dricks

Det äldre Databricks CLI-aliaset databricks fs är dbfsredan till ; databricks fs ls och dbfs ls är likvärdiga.

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

Vissa äldre 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 ett get-jobbkommando och använda det som ett argument för kommandot skapa jobb. I de här fallen rekommenderar vi att du använder jq-verktyget.

Följande kommando skriver till exempel ut inställningarna för jobbet med ID:t 233.

databricks jobs list --output JSON | jq '.jobs[] | select(.job_id == 233) | .settings'

Utdata:

{
  "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
}

Som ett annat exempel skriver följande kommando bara ut namnen och ID:na för alla tillgängliga kluster på arbetsytan:

databricks clusters list --output JSON | jq '[ .clusters[] | { name: .cluster_name, id: .cluster_id } ]'

Utdata:

[
  {
    "name": "My Cluster 1",
    "id": "1234-567890-grip123"
  },
  {
    "name": "My Cluster 2",
    "id": "2345-678901-patch234"
  }
]

Du kan till exempel installera jq på macOS med hjälp av Homebrew med brew install jq eller i Windows med hjälp av Chocolatey med choco install jq. Mer information om jq finns i jq-användarhandboken.

JSON-strängparametrar

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

Linux eller macOS

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

'["20180505", "alantest"]'

Windows

Du måste omge JSON-strängparametrar med dubbla citattecken och citattecknen i strängen måste föregås av \. Till exempel:

"[\"20180505\", \"alantest\"]"

Felsökning

Följande avsnitt innehåller tips för att felsöka vanliga problem med äldre Databricks CLI.

Att använda EOF med databricks configure fungerar inte

För Databricks CLI 0.12.0 och senare fungerar det inte att använda filsekvensens slut (EOF) i ett skript för att skicka parametrar till databricks configure kommandot. Följande skript gör till exempel att Databricks CLI ignorerar parametrarna och inget felmeddelande genereras:

# Do not do this.
databricksUrl=<per-workspace-url>
databricksToken=<personal-access-token-or-Azure-AD-token>

databricks configure --token << EOF
$databricksUrl
$databricksToken
EOF

Åtgärda problemet genom att göra något av följande:

  • Använd något av de andra programmatiska konfigurationsalternativen enligt beskrivningen i Konfigurera autentisering.
  • Lägg till host värdena och token i filen manuellt enligt beskrivningen .databrickscfg i Konfigurera autentisering.
  • Nedgradera installationen av Databricks CLI till 0.11.0 eller senare och kör skriptet igen.

CLI-kommandon