Udostępnij za pośrednictwem


Interfejs wiersza polecenia usługi Databricks (starsza wersja)

Ważne

Ta dokumentacja została wycofana i może nie zostać zaktualizowana.

Usługa Databricks zaleca używanie interfejsu wiersza polecenia usługi Databricks w wersji 0.205 lub nowszej zamiast starszej wersji interfejsu wiersza polecenia usługi Databricks w wersji 0.18 lub nowszej. Interfejs wiersza polecenia usługi Databricks w wersji 0.18 lub nowszej nie jest obsługiwany przez usługę Databricks. Aby uzyskać informacje o interfejsie wiersza polecenia usługi Databricks w wersji 0.205 lub nowszej, zobacz Co to jest interfejs wiersza polecenia usługi Databricks?.

Aby przeprowadzić migrację z interfejsu wiersza polecenia usługi Databricks w wersji 0.18 lub nowszej do interfejsu wiersza polecenia usługi Databricks w wersji 0.205 lub nowszej, zobacz Migracja interfejsu wiersza polecenia usługi Databricks.

Dziedziczny interfejs wiersza poleceń Databricks jest w stanie eksperymentalnym. Databricks nie planuje obecnie prac nad nowymi funkcjami dla starszego interfejsu wiersza polecenia.

Starszy interfejs wiersza polecenia usługi Databricks nie jest obsługiwany za pośrednictwem kanałów pomocy technicznej usługi Databricks. Aby przekazać opinię, zadawać pytania i zgłaszać problemy, użyj zakładki Problemy w interfejsie linii poleceń dla repozytorium Databricks na GitHubie.

Starszy interfejs wiersza polecenia Databricks (zwany także starszym interfejsem CLI Databricks) to narzędzie umożliwiające łatwe automatyzowanie platformy Azure Databricks poprzez terminal, wiersz poleceń lub skrypty automatyzacji.

Wymagania

  • Python 3 — 3.6 i nowsze
  • Python 2 — 2.7.9 i nowsze

Ważne

W systemie macOS domyślna instalacja języka Python 2 nie implementuje protokołu TLSv1_2, a uruchomienie starszego interfejsu wiersza polecenia usługi Databricks z tą instalacją języka Python powoduje wystąpienie błędu: AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'. Użyj oprogramowania Homebrew, aby zainstalować wersję środowiska Python obsługującą protokół ssl.PROTOCOL_TLSv1_2.

Ograniczenia

Korzystanie ze starszego interfejsu wiersza polecenia usługi Databricks z kontenerami magazynu z włączoną zaporą nie jest obsługiwane. Firma Databricks zaleca używanie usługi Databricks Connect lub narzędzia az storage.

Skonfiguruj CLI

W tej sekcji opisano sposób konfigurowania starszego interfejsu wiersza polecenia usługi Databricks.

Instalacja lub aktualizacja interfejsu wiersza polecenia

W tej sekcji opisano sposób instalacji lub aktualizacji maszyny deweloperskiej w celu uruchomienia starszej wersji Databricks CLI.

Instalacja CLI

Uruchom polecenie pip install databricks-cli przy użyciu odpowiedniej wersji pip instalacji języka Python:

pip install databricks-cli

Zaktualizuj CLI

Uruchom polecenie pip install databricks-cli --upgrade przy użyciu odpowiedniej wersji pip instalacji języka Python:

pip install databricks-cli --upgrade

Aby wyświetlić wersję starszego interfejsu wiersza polecenia usługi Databricks, który jest aktualnie zainstalowany, uruchom polecenie databricks --version:

databricks --version

Konfigurowanie uwierzytelniania

Przed uruchomieniem starszych poleceń interfejsu wiersza polecenia usługi Databricks należy skonfigurować uwierzytelnianie między starszym interfejsem wiersza polecenia usługi Databricks i usługą Azure Databricks. W tej sekcji opisano sposób konfigurowania uwierzytelniania dla starszego interfejsu wiersza polecenia usługi Databricks.

Aby uwierzytelnić się przy użyciu starszego interfejsu wiersza polecenia usługi Databricks, możesz użyć osobistego tokenu dostępu usługi Databricks lub tokenu Microsoft Entra ID (dawniej Azure Active Directory).

Uwaga

Jako najlepszą praktykę w zakresie zabezpieczeń, Databricks zaleca, aby podczas uwierzytelniania za pomocą zautomatyzowanych narzędzi, systemów, skryptów i aplikacji używać osobistych tokenów dostępu należących do głównych jednostek usługi zamiast użytkowników obszaru roboczego. Aby utworzyć tokeny dla jednostek usługi, zobacz Zarządzanie tokenami dla jednostki usługi.

Skonfiguruj uwierzytelnianie przy użyciu tokenu identyfikatora Microsoft Entra

Aby skonfigurować starszy interfejs wiersza polecenia usługi Databricks przy użyciu tokenu identyfikatora Entra firmy Microsoft, wygeneruj token Microsoft Entra ID (dawniej Azure Active Directory) i zapisz go w zmiennej środowiskowej DATABRICKS_AAD_TOKEN.

Uruchom następujące polecenie:

databricks configure --aad-token

Polecenie generuje następującą instrukcję:

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

Wprowadź adres URL dla każdego obszaru roboczego w formacie https://adb-<workspace-id>.<random-number>.azuredatabricks.net. Aby uzyskać adres URL dla obszaru roboczego, zobacz Adres URL poszczególnych obszarów roboczych.

Po zakończeniu monitu poświadczenia dostępu są przechowywane w pliku ~/.databrickscfg w systemie Linux lub macOS lub %USERPROFILE%\.databrickscfg w systemie Windows. Plik zawiera domyślny wpis profilu:

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

.databrickscfg Jeśli plik już istnieje, profil konfiguracji tego pliku DEFAULT zostanie zastąpiony nowymi danymi. Aby utworzyć profil konfiguracji o innej nazwie, zobacz Profile połączeń.

Konfigurowanie uwierzytelniania za pomocą osobistego tokenu dostępu usługi Databricks

Aby skonfigurować starszy interfejs wiersza polecenia usługi Databricks do korzystania z osobistego tokenu dostępu, uruchom następujące polecenie:

databricks configure --token

Polecenie rozpoczyna się od wystawienia monitu:

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

Wprowadź adres URL dla każdego obszaru roboczego w formacie https://adb-<workspace-id>.<random-number>.azuredatabricks.net. Aby uzyskać adres URL dla obszaru roboczego, zobacz Adres URL poszczególnych obszarów roboczych.

Polecenie kontynuuje, wydając monit o wprowadzenie osobistego tokenu dostępu:

Token:

Po wykonaniu monitów poświadczenia dostępu są przechowywane w pliku ~/.databrickscfg w systemie Linux lub macOS lub %USERPROFILE%\.databrickscfg w systemie Windows. Plik zawiera domyślny wpis profilu:

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

.databrickscfg Jeśli plik już istnieje, profil konfiguracji tego pliku DEFAULT zostanie zastąpiony nowymi danymi. Aby utworzyć profil konfiguracji o innej nazwie, zobacz Profile połączeń.

W przypadku CLI 0.8.1 i nowszych możesz zmienić ścieżkę do tego pliku, ustawiając zmienną środowiskową DATABRICKS_CONFIG_FILE.

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

Ważne

Począwszy od wersji CLI 0.17.2, interfejs wiersza polecenia nie działa z plikiem .netrc. Możesz mieć .netrc plik w swoim środowisku do innych celów, ale interfejs wiersza polecenia nie będzie używać tego .netrc pliku.

Interfejs wiersza polecenia w wersji 0.8.0 lub nowszej obsługuje następujące zmienne środowiskowe usługi Azure Databricks:

  • DATABRICKS_HOST
  • DATABRICKS_TOKEN

Ustawienie zmiennej środowiskowej ma pierwszeństwo przed ustawieniem w pliku konfiguracji.

Testowanie konfiguracji uwierzytelniania

Aby sprawdzić, czy prawidłowo skonfigurować uwierzytelnianie, możesz uruchomić polecenie, takie jak:

databricks fs ls dbfs:/

W przypadku powodzenia to polecenie wyświetla listę plików i katalogów w katalogu głównym systemu plików DBFS obszaru roboczego skojarzonego z profilem DEFAULT .

Profile połączeń

Starsza konfiguracja interfejsu wiersza polecenia usługi Databricks obsługuje wiele profilów połączeń. Ta sama instalacja starszego interfejsu wiersza polecenia Databricks może służyć do wykonywania wywołań API w wielu obszarach roboczych Azure Databricks.

Aby dodać profil połączenia, określ unikatową nazwę profilu:

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

Plik .databrickscfg zawiera odpowiedni wpis profilu:

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

Aby użyć profilu połączenia:

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

Jeśli --profile <profile-name> nie zostanie określony, zostanie użyty profil domyślny. Jeśli nie znaleziono profilu domyślnego, zostanie wyświetlony monit o skonfigurowanie interfejsu wiersza polecenia przy użyciu profilu domyślnego.

Testowanie profilów połączeń

Aby sprawdzić, czy wszystkie profile połączeń są poprawnie skonfigurowane, możesz uruchomić polecenie, takie jak następujące z jedną z nazw profilów połączenia:

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

W przypadku powodzenia to polecenie wyświetla listę plików i katalogów w katalogu głównym systemu plików DBFS obszaru roboczego dla określonego profilu połączenia. Uruchom to polecenie dla każdego profilu połączenia, który chcesz przetestować.

Aby wyświetlić dostępne profile, zobacz plik .databrickscfg .

Użyj interfejsu wiersza polecenia

W tej sekcji pokazano, jak uzyskać pomoc starszego interfejsu CLI Databricks, analizować dane wyjściowe starszego interfejsu CLI Databricks i wykonywać polecenia w każdej grupie poleceń.

Wyświetl pomoc dla grupy poleceń CLI

Listę podpoleceń dla każdej grupy poleceń można wyświetlić przy użyciu opcji --help lub -h. Aby na przykład wyświetlić listę podpolemów interfejsu wiersza polecenia systemu plików DBFS:

databricks fs -h

Wyświetl pomoc dla podpolecenia CLI

Lista pomocy dla podpolecenia jest wyświetlana za pomocą opcji --help lub -h. Aby na przykład wyświetlić pomoc dla podpolecenia kopiowania plików DBFS:

databricks fs cp -h

Grupy poleceń z aliasami

Czasami może być niewygodne, aby prefiksować każde starsze wywołanie interfejsu wiersza polecenia usługi Databricks o nazwie grupy poleceń, na przykład databricks workspace ls w starszym interfejsie wiersza polecenia usługi Databricks. Aby ułatwić korzystanie ze starszego interfejsu wiersza polecenia usługi Databricks, można tworzyć krótsze aliasy dla grup poleceń. Na przykład, aby skrócić databricks workspace ls do dw ls w powłoce Bourne ponownie, można dodać alias dw="databricks workspace" do odpowiedniego profilu powłoki bash. Zazwyczaj ten plik znajduje się w folderze ~/.bash_profile.

Napiwek

Starszy interfejs wiersza polecenia usługi Databricks już przypisuje alias databricks fs do dbfs; databricks fs ls i dbfs ls są tożsame.

Użyj jq aby przeanalizować wynik CLI

Niektóre starsze polecenia CLI Databricks generują odpowiedź JSON z punktu końcowego API. Czasami przydatne jest przeanalizowanie części JSON, aby kierować je do innych poleceń. Aby na przykład skopiować definicję zadania, należy użyć settings pola polecenia get job i użyć go jako argumentu do polecenia create job. W takich przypadkach zalecamy użycie narzędzia jq.

Na przykład następujące polecenie wyświetla ustawienia zadania o identyfikatorze 233.

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

Wyjście:

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

W innym przykładzie następujące polecenie wyświetla tylko nazwy i identyfikatory wszystkich dostępnych klastrów w obszarze roboczym:

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

Wyjście:

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

Możesz zainstalować jq na przykład w systemie macOS, używając Homebrew z brew install jq lub w systemie Windows, używając Chocolatey z choco install jq. Aby uzyskać więcej informacji na temat narzędzia jq, zobacz Podręcznik dotyczący jq.

Parametry tekstowe JSON

Parametry ciągów są obsługiwane inaczej w zależności od używanego systemu operacyjnego:

Linux lub macOS

Parametry ciągu JSON należy ująć w apostrofy. Na przykład:

'["20180505", "alantest"]'

Windows

Parametry ciągu JSON muszą być ujęte w podwójne cudzysłowy, a znaki cudzysłowu wewnątrz ciągu muszą być poprzedzone znakiem \. Na przykład:

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

Rozwiązywanie problemów

Poniższe sekcje zawierają wskazówki dotyczące rozwiązywania typowych problemów ze starszym interfejsem wiersza polecenia usługi Databricks.

Używanie EOF z databricks configure nie działa

W przypadku interfejsu wiersza polecenia usługi Databricks w wersji 0.12.0 lub nowszej użycie sekwencji końca pliku (EOF) w skrypcie do przekazywania parametrów do polecenia databricks configure nie działa. Na przykład następujący skrypt powoduje, że interfejs wiersza polecenia usługi Databricks ignoruje parametry i nie jest zgłaszany żaden komunikat o błędzie:

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

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

Aby rozwiązać ten problem, wykonaj jedną z następujących czynności:

  • Użyj jednej z pozostałych opcji konfiguracji programowej zgodnie z opisem w temacie Konfigurowanie uwierzytelniania.
  • Ręcznie dodaj wartości host i token do pliku .databrickscfg zgodnie z opisami w Konfigurowanie uwierzytelniania.
  • Obniż poziom instalacji interfejsu wiersza polecenia usługi Databricks do wersji 0.11.0 lub nowszej i ponownie uruchom skrypt.

Polecenia CLI