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.
Starszy interfejs wiersza polecenia usługi Databricks jest w stanie eksperymentalnym. Usługa Databricks nie planuje obecnie żadnej nowej funkcji dla starszego interfejsu wiersza polecenia usługi Databricks.
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 karty Problemy w repozytorium Interfejs wiersza polecenia dla usługi Databricks w usłudze GitHub.
Starszy interfejs wiersza polecenia usługi Databricks (znany również jako starszy interfejs wiersza polecenia usługi Databricks) to narzędzie, które zapewnia łatwy w użyciu interfejs do automatyzowania platformy Azure Databricks z poziomu terminalu, wiersza polecenia lub skryptów 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.
Konfigurowanie interfejsu wiersza polecenia
W tej sekcji opisano sposób konfigurowania starszego interfejsu wiersza polecenia usługi Databricks.
Instalowanie lub aktualizowanie interfejsu wiersza polecenia
W tej sekcji opisano sposób instalowania lub aktualizowania maszyny dewelopera w celu uruchomienia starszego interfejsu wiersza polecenia usługi Databricks.
Instalowanie interfejsu wiersza polecenia
Uruchom polecenie pip install databricks-cli
przy użyciu odpowiedniej wersji pip
instalacji języka Python:
pip install databricks-cli
Aktualizowanie interfejsu wiersza polecenia
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
Najlepszym rozwiązaniem w zakresie zabezpieczeń w przypadku uwierzytelniania za pomocą zautomatyzowanych narzędzi, systemów, skryptów i aplikacji usługa Databricks zaleca używanie osobistych tokenów dostępu należących do jednostek usługi zamiast użytkowników obszaru roboczego. Aby utworzyć tokeny dla jednostek usługi, zobacz Zarządzanie tokenami dla jednostki usługi.
Konfigurowanie uwierzytelniania przy użyciu tokenu identyfikatora entra firmy Microsoft
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 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 wiersza polecenia:
Databricks Host (should begin with https://):
Wprowadź adres URL 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 interfejsu wiersza polecenia 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 interfejsu wiersza polecenia w wersji 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 usługi Databricks może służyć do nawiązywania wywołań interfejsu API w wielu obszarach roboczych usługi 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
.
Korzystanie z interfejsu wiersza polecenia
W tej sekcji pokazano, jak uzyskać starszą pomoc interfejsu wiersza polecenia usługi Databricks, analizować starsze dane wyjściowe interfejsu wiersza polecenia usługi Databricks i wywoływać polecenia w każdej grupie poleceń.
Wyświetlanie pomocy dla grupy poleceń interfejsu wiersza polecenia
Listę podpolecenia dla dowolnej grupy poleceń można wyświetlić przy użyciu --help
opcji lub -h
. Aby na przykład wyświetlić listę podpolecenia interfejsu wiersza polecenia systemu PLIKÓW DBFS:
databricks fs -h
Wyświetlanie podpolecenia interfejsu wiersza polecenia
Zostanie wyświetlona lista pomocy dla podpolecenia przy użyciu --help
opcji lub -h
. Aby na przykład wyświetlić listę pomocy dla podpolecenia kopiowania plików DBFS:
databricks fs cp -h
Grupy poleceń aliasu
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 aliasować grupy poleceń w celu skrócenia 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ż aliasy databricks fs
do dbfs
; databricks fs ls
i dbfs ls
są równoważne.
Użyj jq
polecenia , aby przeanalizować dane wyjściowe interfejsu wiersza polecenia
Niektóre starsze polecenia interfejsu wiersza polecenia usługi Databricks generują odpowiedź JSON z punktu końcowego interfejsu API. Czasami warto przeanalizować części odpowiedzi JSON w celu wprowadzenia 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 przy użyciu oprogramowania Homebrew z brew install jq
systemem Lub w systemie Windows przy użyciu narzędzia Chocolatey z choco install jq
programem . Aby uzyskać więcej informacji na temat narzędzia jq
, zobacz Podręcznik dotyczący jq.
Parametry ciągu 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 funkcji EOF z databricks configure
programem nie działa
W przypadku interfejsu wiersza polecenia usługi Databricks w wersji 0.12.0 lub nowszej użyj sekwencji końcowej pliku (EOF
) w skry skryptzie w celu przekazania parametrów do databricks configure
polecenia 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
host
wartości itoken
do.databrickscfg
pliku zgodnie z opisem w temacie Konfigurowanie uwierzytelniania. - Obniż poziom instalacji interfejsu wiersza polecenia usługi Databricks do wersji 0.11.0 lub nowszej i ponownie uruchom skrypt.
Polecenia interfejsu wiersza polecenia
- Interfejs wiersza polecenia zasad klastra (starsza wersja)
- Interfejs wiersza polecenia klastrów (starsza wersja)
- Interfejs wiersza polecenia systemu DBFS (starsza wersja)
- Interfejs wiersza polecenia usługi Delta Live Tables (starsza wersja)
- Interfejs wiersza polecenia grup (starsza wersja)
- Interfejs wiersza polecenia pul wystąpień (starsza wersja)
- Interfejs wiersza polecenia zadań (starsza wersja)
- Interfejs wiersza polecenia bibliotek (starsza wersja)
- Interfejs wiersza polecenia repozytoriów (starsza wersja)
- Uruchamia interfejs wiersza polecenia (starsza wersja)
- Interfejs wiersza polecenia wpisów tajnych (starsza wersja)
- Interfejs wiersza polecenia stosu (starsza wersja)
- Interfejs wiersza polecenia tokenów (starsza wersja)
- Interfejs wiersza polecenia wykazu aparatu Unity (starsza wersja)
- Interfejs wiersza polecenia obszaru roboczego (starsza wersja)