Databricks CLI (verouderd)

Belangrijk

Deze documentatie is buiten gebruik gesteld en wordt mogelijk niet bijgewerkt.

Databricks raadt u aan om Databricks CLI versie 0.205 of hoger te gebruiken in plaats van de verouderde Databricks CLI versie 0.18 of lager. Databricks CLI versie 0.18 of lager wordt niet ondersteund door Databricks. Zie Wat is de Databricks CLI-versie 0.205 en hoger voor informatie over Databricks CLI.

Als u wilt migreren van Databricks CLI versie 0.18 of lager naar Databricks CLI versie 0.205 of hoger, raadpleegt u de Cli-migratie van Databricks.

De verouderde Databricks CLI heeft een experimentele status. Databricks plant op dit moment geen nieuwe functie voor de verouderde Databricks CLI.

De verouderde Databricks CLI wordt niet ondersteund via databricks-ondersteuningskanalen. Als u feedback wilt geven, vragen wilt stellen en problemen wilt melden, gebruikt u het tabblad Problemen in de opdrachtregelinterface voor de Databricks-opslagplaats in GitHub.

De verouderde Databricks-opdrachtregelinterface (ook wel de verouderde Databricks CLI genoemd) is een hulpprogramma dat een gebruiksvriendelijke interface biedt voor het automatiseren van het Azure Databricks-platform vanuit uw terminal-, opdrachtprompt- of automatiseringsscripts.

Vereisten

  • Python 3 - 3.6 en hoger
  • Python 2 - 2.7.9 en hoger

Belangrijk

In macOS implementeert de standaardinstallatie van Python 2 het TLSv1_2-protocol niet en leidt het uitvoeren van de verouderde Databricks CLI met deze Python-installatie tot de volgende fout: AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2' Gebruik Homebrew om een versie van Python te installeren die ssl.PROTOCOL_TLSv1_2 heeft.

Beperkingen

Het gebruik van de verouderde Databricks CLI met opslagcontainers met firewalls wordt niet ondersteund. Databricks raadt u aan Databricks Connect of az storage te gebruiken.

De CLI instellen

In deze sectie wordt beschreven hoe u de verouderde Databricks CLI instelt.

De CLI installeren of bijwerken

In deze sectie wordt beschreven hoe u uw ontwikkelcomputer installeert of bijwerkt om de verouderde Databricks CLI uit te voeren.

De CLI installeren

Voer pip install databricks-cli deze uit met behulp van de juiste versie van pip uw Python-installatie:

pip install databricks-cli

De CLI bijwerken

Voer pip install databricks-cli --upgrade deze uit met behulp van de juiste versie van pip uw Python-installatie:

pip install databricks-cli --upgrade

Voer de volgende opdracht databricks --versionuit om de versie van de verouderde Databricks CLI weer te geven die momenteel is geïnstalleerd:

databricks --version

Verificatie instellen

Voordat u verouderde Databricks CLI-opdrachten kunt uitvoeren, moet u verificatie instellen tussen de verouderde Databricks CLI en Azure Databricks. In deze sectie wordt beschreven hoe u verificatie instelt voor de verouderde Databricks CLI.

Als u wilt verifiëren met de verouderde Databricks CLI, kunt u een persoonlijk toegangstoken van Databricks of een Microsoft Entra ID-token (voorheen Azure Active Directory) gebruiken.

Notitie

Als best practice voor beveiliging, wanneer u zich verifieert met geautomatiseerde hulpprogramma's, systemen, scripts en apps, raadt Databricks u aan om persoonlijke toegangstokens te gebruiken die behoren tot service-principals in plaats van werkruimtegebruikers. Zie Tokens voor een service-principal beheren om tokens voor service-principals te maken.

Verificatie instellen met behulp van een Microsoft Entra ID-token (voorheen Azure Active Directory)

Als u de verouderde Databricks CLI wilt configureren met behulp van een Microsoft Entra ID-token, genereert u het Microsoft Entra ID-token (voorheen Azure Active Directory) en slaat u het op in de omgevingsvariabele DATABRICKS_AAD_TOKEN.

Voer de volgende opdracht uit:

databricks configure --aad-token

De opdracht geeft de volgende prompt:

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

Voer uw URL per werkruimte in, met de indeling https://adb-<workspace-id>.<random-number>.azuredatabricks.net. Zie de URL per werkruimte om de URL per werkruimte op te halen.

Nadat u de prompt hebt voltooid, worden uw toegangsreferenties opgeslagen in het bestand ~/.databrickscfg in Linux of macOS of %USERPROFILE%\.databrickscfg in Windows. Het bestand bevat een standaardprofielvermelding:

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

Als het .databrickscfg bestand al bestaat, wordt het configuratieprofiel van DEFAULT dat bestand overschreven met de nieuwe gegevens. Als u in plaats daarvan een configuratieprofiel met een andere naam wilt maken, raadpleegt u Verbinding maken ionprofielen.

Verificatie instellen met een persoonlijk toegangstoken van Databricks

Voer de volgende opdracht uit om de verouderde Databricks CLI te configureren voor het gebruik van een persoonlijk toegangstoken:

databricks configure --token

De opdracht begint met het uitgeven van de prompt:

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

Voer uw URL per werkruimte in, met de indeling https://adb-<workspace-id>.<random-number>.azuredatabricks.net. Zie de URL per werkruimte om de URL per werkruimte op te halen.

De opdracht wordt voortgezet door de prompt uit te geven om uw persoonlijke toegangstoken in te voeren:

Token:

Nadat u de aanwijzingen hebt voltooid, worden uw toegangsreferenties opgeslagen in het bestand ~/.databrickscfg in Linux of macOS of %USERPROFILE%\.databrickscfg in Windows. Het bestand bevat een standaardprofielvermelding:

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

Als het .databrickscfg bestand al bestaat, wordt het configuratieprofiel van DEFAULT dat bestand overschreven met de nieuwe gegevens. Als u in plaats daarvan een configuratieprofiel met een andere naam wilt maken, raadpleegt u Verbinding maken ionprofielen.

Voor CLI 0.8.1 en hoger kunt u het pad van dit bestand wijzigen door de omgevingsvariabele DATABRICKS_CONFIG_FILEin te stellen.

Linux of macos
export DATABRICKS_CONFIG_FILE=<path-to-file>
Windows
setx DATABRICKS_CONFIG_FILE "<path-to-file>" /M

Belangrijk

Vanaf CLI 0.17.2 werkt de CLI niet met een .netrc-bestand. U kunt een .netrc bestand in uw omgeving hebben voor andere doeleinden, maar de CLI gebruikt dat .netrc bestand niet.

CLI 0.8.0 en hoger ondersteunt de volgende Omgevingsvariabelen van Azure Databricks:

  • DATABRICKS_HOST
  • DATABRICKS_TOKEN

een ingestelde omgevingsvariabele heeft voorrang op de instelling in het configuratiebestand.

Uw verificatie-instelling testen

Als u wilt controleren of de verificatie juist is ingesteld, kunt u een opdracht uitvoeren, zoals het volgende:

databricks fs ls dbfs:/

Als dit lukt, worden met deze opdracht de bestanden en mappen weergegeven in de DBFS-hoofdmap van de werkruimte die is gekoppeld aan uw DEFAULT profiel.

Verbinding maken ionprofielen

De verouderde Databricks CLI-configuratie ondersteunt meerdere verbindingsprofielen. Dezelfde installatie van verouderde Databricks CLI kan worden gebruikt om API-aanroepen uit te voeren op meerdere Azure Databricks-werkruimten.

Als u een verbindingsprofiel wilt toevoegen, geeft u een unieke naam op voor het profiel:

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

Het .databrickscfg bestand bevat een bijbehorende profielvermelding:

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

Het verbindingsprofiel gebruiken:

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

Als --profile <profile-name> dit niet is opgegeven, wordt het standaardprofiel gebruikt. Als er geen standaardprofiel wordt gevonden, wordt u gevraagd om de CLI te configureren met een standaardprofiel.

Uw verbindingsprofielen testen

Als u wilt controleren of u verbindingsprofielen correct instelt, kunt u een opdracht uitvoeren, zoals het volgende met een van uw verbindingsprofielnamen:

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

Als dit lukt, worden met deze opdracht de bestanden en mappen weergegeven in de DBFS-hoofdmap van de werkruimte voor het opgegeven verbindingsprofiel. Voer deze opdracht uit voor elk verbindingsprofiel dat u wilt testen.

Als u uw beschikbare profielen wilt bekijken, raadpleegt u het .databrickscfg bestand.

De CLI gebruiken

In deze sectie wordt beschreven hoe u verouderde Databricks CLI-hulp kunt krijgen, verouderde Databricks CLI-uitvoer kunt parseren en opdrachten kunt aanroepen in elke opdrachtgroep.

Help voor CLI-opdrachtgroep weergeven

U vermeldt de subopdrachten voor een opdrachtgroep met behulp van de --help of -h optie. Als u bijvoorbeeld de DBFS CLI-subopdrachten wilt weergeven:

databricks fs -h

Help voor CLI-subopdrachten weergeven

U vermeldt de Help voor een subopdracht met behulp van de --help of -h optie. Als u bijvoorbeeld de help voor de DBFS-subopdracht voor het kopiëren van bestanden wilt weergeven:

databricks fs cp -h

Aliasopdrachtgroepen

Soms kan het lastig zijn om elke verouderde Databricks CLI-aanroep vooraf te laten gaan met de naam van een opdrachtgroep, bijvoorbeeld databricks workspace ls in de verouderde Databricks CLI. Als u de verouderde Databricks CLI gemakkelijker wilt gebruiken, kunt u opdrachtgroepen aliasen tot kortere opdrachten. Als u bijvoorbeeld wilt inkorken databricks workspace ls in dw ls de Bourne-shell, kunt u dit toevoegen alias dw="databricks workspace" aan het juiste bash-profiel. Dit bestand bevindt zich meestal in ~/.bash_profile.

Tip

De verouderde Databricks CLI-aliassen databricks fs al naar dbfs; databricks fs ls en dbfs ls zijn gelijkwaardig.

Gebruiken jq om CLI-uitvoer te parseren

Sommige verouderde Databricks CLI-opdrachten voeren het JSON-antwoord uit van het API-eindpunt. Soms kan het handig zijn om tegels van de JSON te parseren en deze naar andere opdrachten te leiden. Als u bijvoorbeeld een taakdefinitie wilt kopiëren, moet u het settings veld van een opdracht ophalen gebruiken en deze gebruiken als argument voor de opdracht taak maken. In deze gevallen raden we u aan het hulpprogramma jq te gebruiken.

Met de volgende opdracht worden bijvoorbeeld de instellingen van de taak afgedrukt met de id van 233.

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

Uitvoer:

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

In een ander voorbeeld worden met de volgende opdracht alleen de namen en id's van alle beschikbare clusters in de werkruimte afgedrukt:

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

Uitvoer:

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

U kunt bijvoorbeeld installeren jq op macOS door Homebrew met brew install jq of in Windows te gebruiken met Chocolatey met choco install jq. Raadpleeg voor meer informatie over jq de jq-gebruikershandleiding.

JSON-tekenreeksparameters

Tekenreeksparameters worden verschillend behandeld, afhankelijk van uw besturingssysteem:

Linux of macos

u moet JSON-tekenreeksparameters tussen enkele aanhalingstekens plaatsen. Voorbeeld:

'["20180505", "alantest"]'

Windows

u moet JSON-tekenreeksparameters tussen dubbele aanhalingstekens plaatsen en de aanhalingstekens binnen de tekenreeks moeten worden voorafgegaan door \. Voorbeeld:

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

Probleemoplossing

De volgende secties bevatten tips voor het oplossen van veelvoorkomende problemen met de verouderde Databricks CLI.

Het gebruik van EOF met databricks configure werkt niet

Voor Databricks CLI 0.12.0 en hoger werkt het einde van het bestand (EOF) in een script om parameters door te geven aan de databricks configure opdracht niet. Het volgende script zorgt er bijvoorbeeld voor dat Databricks CLI de parameters negeert en er geen foutbericht wordt gegenereerd:

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

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

Ga op een van de volgende manieren te werk om dit probleem op te lossen:

  • Gebruik een van de andere programmatische configuratieopties, zoals beschreven in Verificatie instellen.
  • Voeg handmatig de host en token waarden toe aan het .databrickscfg bestand, zoals beschreven in Verificatie instellen.
  • Downgrade de installatie van de Databricks CLI naar 0.11.0 of lager en voer het script opnieuw uit.

CLI-opdrachten