Sdílet prostřednictvím


Rozhraní příkazového řádku Databricks (starší verze)

Důležité

Tato dokumentace byla vyřazena a nemusí být aktualizována.

Databricks doporučuje používat Databricks CLI verze 0.205 nebo novější místo starší verze Rozhraní příkazového řádku Databricks verze 0.18 nebo novější. Databricks CLI verze 0.18 nebo novější nepodporuje Databricks. Informace o rozhraní příkazového řádku Databricks verze 0.205 a vyšší najdete v tématu Co je rozhraní příkazového řádku Databricks?.

Pokud chcete migrovat z Rozhraní příkazového řádku Databricks verze 0.18 nebo novější na Databricks CLI verze 0.205 nebo novější, přečtěte si téma Migrace rozhraní příkazového řádku Databricks.

Starší verze rozhraní příkazového řádku Databricks je v experimentálním stavu. Databricks momentálně neplánuje žádnou novou funkci pro starší rozhraní příkazového řádku Databricks.

Starší verze rozhraní příkazového řádku Databricks není podporována prostřednictvím kanálů podpory Databricks. Pokud chcete poskytnout zpětnou vazbu, pokládat otázky a nahlásit problémy, použijte kartu Problémy v úložišti Příkazového řádku pro úložiště Databricks na GitHubu.

Starší rozhraní příkazového řádku Databricks (označované také jako starší rozhraní příkazového řádku Databricks) je nástroj, který poskytuje snadno použitelné rozhraní pro automatizaci platformy Azure Databricks z terminálu, příkazového řádku nebo automatizačních skriptů.

Požadavky

  • Python 3 – 3.6 a vyšší
  • Python 2 – 2.7.9 a vyšší

Důležité

Výchozí instalace Pythonu 2 v systému macOS neimplementuje protokol TLSv1_2 a spuštění starší verze rozhraní příkazového řádku Databricks s touto instalací Pythonu způsobí chybu: AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2' Použijte Homebrew k instalaci verze Pythonu, která má ssl.PROTOCOL_TLSv1_2.

Omezení

Použití starší verze rozhraní příkazového řádku Databricks s kontejnery úložiště s povolením brány firewall není podporováno. Služba Databricks doporučuje použít Databricks Connect nebo az storage.

Nastavení rozhraní příkazového řádku

Tato část popisuje, jak nastavit starší verzi rozhraní příkazového řádku Databricks.

Instalace nebo aktualizace rozhraní příkazového řádku

Tato část popisuje, jak nainstalovat nebo aktualizovat vývojový počítač tak, aby běžel starší verzi Rozhraní příkazového řádku Databricks.

Nainstalujte rozhraní příkazového řádku

Spusťte ho pomocí odpovídající verze pip pro vaši instalaci Pythonu pip install databricks-cli.

pip install databricks-cli

Aktualizace rozhraní příkazového řádku

Spusťte pip install databricks-cli --upgrade pomocí odpovídající verze pip pro vaši instalaci Pythonu.

pip install databricks-cli --upgrade

Pokud chcete zobrazit verzi staršího rozhraní příkazového řádku Databricks, která je nyní nainstalována, spusťte databricks --version příkaz:

databricks --version

Nastavení ověřování

Než budete moct spouštět starší příkazy Rozhraní příkazového řádku Databricks, musíte nastavit ověřování mezi starší verzí Rozhraní příkazového řádku Databricks a Azure Databricks. Tato část popisuje, jak nastavit ověřování pro starší verzi rozhraní příkazového řádku Databricks.

Pokud se chcete ověřit pomocí starší verze Rozhraní příkazového řádku Databricks, můžete jako způsob ověření použít osobní přístupový token (PAT) Databricks nebo token pro Microsoft Entra ID (dříve Azure Active Directory).

Poznámka:

Osvědčeným postupem při ověřování pomocí automatizovaných nástrojů, systémů, skriptů a aplikací doporučuje Databricks místo uživatelů pracovního prostoru používat tokeny osobního přístupu, které patří instancím služby service principals. Pokud chcete vytvořit tokeny pro instanční objekty, přečtěte si téma Správa tokenů instančního objektu.

Nastavení ověřování pomocí tokenu MICROSOFT Entra ID

Pokud chcete nakonfigurovat starší rozhraní příkazového řádku Databricks pomocí tokenu ID Microsoft Entra, vygenerujte token Microsoft Entra ID (dříve Azure Active Directory) a uložte ho do proměnné DATABRICKS_AAD_TOKENprostředí.

Spusťte následující příkaz:

databricks configure --aad-token

Tento příkaz vydá výzvu:

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

Zadejte adresu URL pro jednotlivé pracovní prostory s formátem https://adb-<workspace-id>.<random-number>.azuredatabricks.net. Pokud chcete získat adresu URL pro jednotlivé pracovní prostory, přečtěte si téma Adresa URL pro jednotlivé pracovní prostory.

Po dokončení výzvy se vaše přístupové přihlašovací údaje uloží do souboru ~/.databrickscfg v Linuxu nebo macOS nebo %USERPROFILE%\.databrickscfg ve Windows. Soubor obsahuje výchozí položku profilu:

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

.databrickscfg Pokud soubor již existuje, konfigurační profil daného souboru DEFAULT se přepíše novými daty. Pokud chcete vytvořit konfigurační profil s jiným názvem, přečtěte si téma Profily připojení.

Nastavení ověřování pomocí osobního přístupového tokenu Databricks

Pokud chcete nakonfigurovat starší rozhraní příkazového řádku Databricks tak, aby používalo osobní přístupový token, spusťte následující příkaz:

databricks configure --token

Příkaz začíná vydáním výzvy:

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

Zadejte adresu URL pro jednotlivé pracovní prostory s formátem https://adb-<workspace-id>.<random-number>.azuredatabricks.net. Pokud chcete získat adresu URL pro jednotlivé pracovní prostory, přečtěte si téma Adresa URL pro jednotlivé pracovní prostory.

Příkaz pokračuje vystavením výzvy k zadání vašeho osobního přístupového tokenu:

Token:

Po dokončení výzev se vaše přístupové přihlašovací údaje uloží do souboru ~/.databrickscfg v Linuxu nebo macOS nebo %USERPROFILE%\.databrickscfg ve Windows. Soubor obsahuje výchozí položku profilu:

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

.databrickscfg Pokud soubor již existuje, konfigurační profil daného souboru DEFAULT se přepíše novými daty. Pokud chcete vytvořit konfigurační profil s jiným názvem, přečtěte si téma Profily připojení.

Pro rozhraní CLI 0.8.1 a vyšší můžete změnit cestu k tomuto souboru nastavením proměnné prostředí DATABRICKS_CONFIG_FILE.

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

Důležité

Počínaje verzí 0.17.2 rozhraní příkazového řádku nefunguje se souborem .netrc. Ve svém prostředí můžete mít soubor .netrc pro jiné účely, ale příkazové rozhraní CLI tento soubor .netrc nepoužije.

CLI 0.8.0 a novější podporuje následující proměnné prostředí Azure Databricks:

  • DATABRICKS_HOST
  • DATABRICKS_TOKEN

Nastavení proměnné prostředí má přednost před nastavením v konfiguračním souboru.

Otestování nastavení ověřování

Pokud chcete zkontrolovat, jestli jste správně nastavili ověřování, můžete spustit příkaz, například následující:

databricks fs ls dbfs:/

V případě úspěchu tento příkaz vypíše soubory a adresáře v kořenovém adresáři DBFS pracovního prostoru přidruženého k vašemu DEFAULT profilu.

Profily připojení

Starší konfigurace rozhraní příkazového řádku Databricks podporuje více profilů připojení. Stejnou instalaci starší verze příkazového řádku Databricks lze použít k provádění API volání do více pracovních prostorů Azure Databricks.

Pokud chcete přidat profil připojení, zadejte jedinečný název profilu:

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

Soubor .databrickscfg obsahuje odpovídající položku profilu:

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

Použití profilu připojení:

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

Pokud --profile <profile-name> není zadaný, použije se výchozí profil. Pokud se výchozí profil nenajde, zobrazí se výzva ke konfiguraci rozhraní příkazového řádku s výchozím profilem.

Testování profilů připojení

Pokud chcete zkontrolovat, jestli jste správně nastavili nějaké profily připojení, můžete spustit příkaz, například následující s jedním z názvů profilů připojení:

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

V případě úspěchu tento příkaz vypíše soubory a adresáře v kořenovém adresáři DBFS pracovního prostoru pro zadaný profil připojení. Spusťte tento příkaz pro každý profil připojení, který chcete otestovat.

Pokud chcete zobrazit dostupné profily, podívejte se na soubor .databrickscfg .

Použití rozhraní příkazového řádku

V této části se dozvíte, jak získat starší nápovědu k rozhraní příkazového řádku Databricks, parsovat starší výstup rozhraní příkazového řádku Databricks a vyvolat příkazy v každé skupině příkazů.

Zobrazení nápovědy ke skupině příkazů rozhraní CLI

Podpříkazy pro libovolnou skupinu příkazů zobrazíte pomocí možnosti --help nebo -h. Pokud například chcete zobrazit seznam dílčích příkazů rozhraní příkazového řádku DBFS:

databricks fs -h

Zobrazení nápovědy k podpříkazu CLI

Vypíšete nápovědu k podpříkazu pomocí možnosti --help nebo -h. Pokud například chcete zobrazit nápovědu pro podpříkaz kopírování souborů DBFS:

databricks fs cp -h

Skupiny příkazů aliasu

Někdy může být nevhodné předponovat každé starší vyvolání rozhraní příkazového řádku Databricks názvem skupiny příkazů, například databricks workspace ls ve starší verzi rozhraní příkazového řádku Databricks. K usnadnění použití staršího rozhraní příkazového řádku Databricks můžete přeznačit skupiny příkazů na kratší příkazy. Pokud chcete například zkrátit databricks workspace ls na dw ls v prostředí Bash, můžete přidat alias dw="databricks workspace" do příslušného profilu Bash. Tento soubor se obvykle nachází v umístění ~/.bash_profile.

Tip

Starší verze rozhraní příkazového řádku Databricks už aliasuje databricks fs na dbfs; databricks fs ls a dbfs ls jsou ekvivalentní.

Použití jq k analýze výstupu rozhraní příkazového řádku

Některé starší příkazy příkazového řádku Databricks vypisují JSON odpověď z API. Někdy může být užitečné parsovat části JSON, abyste je mohli použít v jiných příkazech. Pokud chcete například zkopírovat definici úlohy, musíte vzít settings pole příkazu get job a použít ho jako argument příkazu create job. V takových případech doporučujeme použít nástroj jq.

Například následující příkaz vytiskne nastavení úlohy s ID 233.

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

Výstup:

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

V dalším příkladu následující příkaz vytiskne pouze názvy a ID všech dostupných clusterů v pracovním prostoru:

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

Výstup:

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

Například v macOS můžete nainstalovat jq pomocí Homebrew s brew install jq nebo ve Windows pomocí Chocolatey s choco install jq. Další informace o nástroji jq najdete v příručce k nástroji jq.

Parametry řetězců JSON

Parametry řetězců se zpracovávají odlišně v závislosti na operačním systému:

Linux nebo macOS

Parametry řetězců JSON musíte uzavřít do jednoduchých uvozovek. Příklad:

'["20180505", "alantest"]'

Windows

Parametry řetězců JSON musíte uzavřít do dvojitých uvozovek a znakům uvozovek uvnitř řetězce musí předcházet znak \. Příklad:

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

Řešení problému

Následující části obsahují tipy pro řešení běžných problémů se starší verzí Rozhraní příkazového řádku Databricks.

Použití funkce EOF s databricks configure nefunguje

Pro Databricks CLI 0.12.0 a vyšší nefunguje použití sekvence konce souboru (EOF) ve skriptu k předání parametrů příkazu databricks configure. Následující skript například způsobí, že rozhraní příkazového řádku Databricks ignoruje parametry a nevyvolá se žádná chybová zpráva:

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

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

Pokud chcete tento problém vyřešit, udělejte jednu z těchto věcí:

  • Použijte jednu z dalších programových možností konfigurace, jak je popsáno v tématu Nastavení ověřování.
  • Do souboru přidejte hodnoty hosttoken.databrickscfg ručně, jak je popsáno v části Nastavení ověřování.
  • Degradujte instalaci rozhraní příkazového řádku Databricks na verzi 0.11.0 nebo starší a spusťte skript znovu.

Příkazy CLI