Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Te informacje dotyczą interfejsu wiersza polecenia usługi Databricks w wersji 0.205 lub nowszej. Interfejs wiersza polecenia dla Databricks jest w fazie publicznych testów.
Korzystanie z interfejsu wiersza polecenia usługi Databricks podlega licencjom usługi Databricks i powiadomieniom o ochronie prywatności usługi Databricks, w tym wszelkim przepisom dotyczącym danych użycia.
Grupa poleceń bundle
w Interfejsie Wiersza Polecenia Databricks umożliwia programatyczne weryfikowanie, wdrażanie i uruchamianie przepływów pracy Azure Databricks, takich jak zadania Azure Databricks, Lakeflow Deklaratywne Potoki i MLOps Stacks. Zobacz Co to są pakiety zasobów usługi Databricks?.
Polecenia bundle
uruchamiasz, dodając je do databricks bundle
. Aby wyświetlić pomoc dotyczącą bundle
polecenia, uruchom polecenie databricks bundle -h
.
Tworzenie pakietu na podstawie szablonu projektu
Aby utworzyć Databricks Asset Bundle przy użyciu domyślnego szablonu Databricks Asset Bundle dla języka Python, uruchom polecenie bundle init
w następujący sposób, a następnie odpowiedz na monity na ekranie:
databricks bundle init
Aby utworzyć pakiet zasobów usługi Databricks przy użyciu niestandardowego szablonu pakietu zasobów usługi Databricks, uruchom bundle init
polecenie w następujący sposób:
databricks bundle init <project-template-local-path-or-url> \
--project-dir="</local/path/to/project/template/output>"
Zobacz też:
- Szablony projektów pakietu zasobów usługi Databricks
- Tworzenie zadania z użyciem pakietów zasobów Databricks
- Opracowywanie potoków deklaratywnych usługi Lakeflow przy użyciu pakietów zasobów usługi Databricks
- Pakiety zasobów Databricks dla stosów MLOps
Wyświetlanie schematu konfiguracji pakietu
Aby wyświetlić schemat konfiguracji pakietu, uruchom bundle schema
polecenie w następujący sposób:
databricks bundle schema
Aby wyświetlić schemat konfiguracji pakietu zasobów usługi Databricks jako plik JSON, uruchom bundle schema
polecenie i przekierowuj dane wyjściowe do pliku JSON. Na przykład możesz wygenerować plik o nazwie bundle_config_schema.json
w bieżącym katalogu w następujący sposób:
databricks bundle schema > bundle_config_schema.json
Walidacja pakietu
Aby sprawdzić, czy pliki konfiguracji pakietu są poprawne składniowo, uruchom bundle validate
polecenie z katalogu głównego projektu pakietu w następujący sposób:
databricks bundle validate
Domyślnie to polecenie zwraca podsumowanie tożsamości pakietu:
Name: MyBundle
Target: dev
Workspace:
Host: https://my-host.cloud.databricks.com
User: someone@example.com
Path: /Users/someone@example.com/.bundle/MyBundle/dev
Validation OK!
Uwaga
Polecenie bundle validate
zwraca ostrzeżenia, jeśli właściwości zasobu są zdefiniowane w plikach konfiguracji pakietu, które nie znajdują się w schemacie odpowiedniego obiektu.
Jeśli chcesz wyświetlić tylko podsumowanie tożsamości i zasobów pakietu, użyj podsumowania pakietu.
Zsynchronizuj drzewo pakietu z obszarem roboczym
Polecenie bundle sync
wykonuje jednokierunkową synchronizację zmian plików pakietu w lokalnym katalogu systemu plików do katalogu w zdalnym obszarze roboczym usługi Azure Databricks.
Uwaga
bundle sync
Polecenia nie mogą synchronizować zmian plików z katalogu w zdalnym obszarze roboczym usługi Azure Databricks z powrotem do katalogu w lokalnym systemie plików.
databricks bundle sync
polecenia działają w taki sam sposób jak databricks sync
polecenia i są udostępniane dla zwiększenia produktywności. Aby uzyskać informacje o użyciu poleceń, zobacz sync
grupa poleceń.
Generowanie pliku konfiguracji pakietu
Polecenie bundle generate
generuje konfigurację zasobu, który już istnieje w obszarze roboczym usługi Databricks. Obsługiwane są następujące zasoby:
Domyślnie to polecenie generuje *.yml
plik dla zasobu w resources
folderze pakietowego projektu, a także pobiera wszystkie pliki, takie jak notesy, wspomniane w konfiguracji.
Ważne
Polecenie bundle generate
jest udostępniane jako wygoda automatycznego generowania konfiguracji zasobów. Jednak gdy konfiguracja zasobu jest uwzględniona w pakiecie i wdrożona, tworzy nowy zasób i nie aktualizuje istniejącego zasobu, chyba że bundle deployment bind
został użyty wcześniej. Zobacz Powiąż zasób pakietu.
Generowanie konfiguracji aplikacji
Aby wygenerować konfigurację istniejącej aplikacji w obszarze roboczym, uruchom polecenie bundle generate app
, określając nazwę aplikacji w obszarze roboczym:
databricks bundle generate app --existing-app-name [app-name]
Nazwę aplikacji można uzyskać na karcie Aplikacje obliczeniowe> w interfejsie użytkownika obszaru roboczego.
Na przykład następujące polecenie generuje nowy hello_world.app.yml
plik w resources
folderze projektu pakietu i pobiera pliki kodu aplikacji, takie jak plik konfiguracji polecenia app.yaml
aplikacji oraz app.py
, główny plik. Domyślnie pliki kodu są kopiowane do folderu pakietu src
.
databricks bundle generate app --existing-app-name "hello_world"
# This is the contents of the resulting /resources/hello-world.app.yml file.
resources:
apps:
hello_world:
name: hello-world
description: A basic starter application.
source_code_path: ../src/app
Generowanie konfiguracji pulpitu nawigacyjnego
Aby wygenerować konfigurację istniejącego pulpitu nawigacyjnego w obszarze roboczym, uruchom polecenie bundle generate dashboard
, określając identyfikator lub ścieżkę obszaru roboczego dla pulpitu nawigacyjnego:
databricks bundle generate dashboard --existing-id [dashboard-id]
databricks bundle generate dashboard --existing-path [dashboard-workspace-path]
Możesz skopiować ścieżkę obszaru roboczego dla pulpitu nawigacyjnego z poziomu interfejsu użytkownika obszaru roboczego.
Na przykład następujące polecenie generuje nowy baby_gender_by_county.dashboard.yml
plik w resources
folderze projektu pakietu zawierającym poniższy kod YAML i pobiera baby_gender_by_county.lvdash.json
plik do src
folderu projektu.
databricks bundle generate dashboard --existing-path "/Workspace/Users/someone@example.com/baby_gender_by_county.lvdash.json"
# This is the contents of the resulting baby_gender_by_county.dashboard.yml file.
resources:
dashboards:
baby_gender_by_county:
display_name: 'Baby gender by county'
warehouse_id: aae11o8e6fe9zz79
file_path: ../src/baby_gender_by_county.lvdash.json
Wskazówka
Aby zaktualizować plik .lvdash.json
po wdrożeniu pulpitu nawigacyjnego, użyj opcji --resource
podczas uruchamiania bundle generate dashboard
, aby wygenerować ten plik dla istniejącego zasobu pulpitu nawigacyjnego. Aby stale sondować i pobierać aktualizacje do pulpitu nawigacyjnego, użyj opcji --force
oraz --watch
.
Generowanie konfiguracji zadania lub przetwarzania
Aby wygenerować konfigurację zadania lub potoku, uruchom polecenie bundle generate job
lub bundle generate pipeline
.
databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]
Uwaga
Obecnie to polecenie obsługuje tylko zadania notatnika.
Na przykład następujące polecenie generuje nowy hello_job.yml
plik w resources
folderze projektu pakietu zawierającym poniższy kod YAML i pobiera plik simple_notebook.py
do src
folderu projektu.
databricks bundle generate job --existing-job-id 6565621249
# This is the contents of the resulting hello_job.yml file.
resources:
jobs:
hello_job:
name: 'Hello Job'
tasks:
- task_key: run_notebook
email_notifications: {}
notebook_task:
notebook_path: ../src/simple_notebook.py
source: WORKSPACE
run_if: ALL_SUCCESS
max_concurrent_runs: 1
Zwiąż zasób pakietu
Polecenie bundle deployment bind
umożliwia powiązanie zasobów zdefiniowanych w pakiecie z istniejącymi zasobami w przestrzeni roboczej Azure Databricks, dzięki czemu są one zarządzane przez pakiety zasobów Databricks. Jeśli powiążesz zasób, to istniejący zasób usługi Azure Databricks w obszarze roboczym zostanie zaktualizowany na podstawie konfiguracji zdefiniowanej w pakiecie, do którego jest przypisany, po następnym bundle deploy
.
databricks bundle deployment bind [resource-key] [resource-id]
Powiązanie nie tworzy ponownie danych. Na przykład, jeśli do potoku z danymi w katalogu zastosowano wiązanie, możesz go wdrożyć do tego potoku bez utraty istniejących danych. Ponadto nie trzeba ponownie komkompilować zmaterializowanego widoku, więc potoki nie muszą być uruchamiane ponownie.
Polecenie powiązania powinno być używane z flagą --target
. Na przykład powiąż swoje wdrożenie produkcyjne z potokiem produkcyjnym za pomocą komendy databricks bundle deployment bind --target prod my_pipeline 7668611149d5709ac9-2906-1229-9956-586a9zed8929
Wskazówka
Warto potwierdzić zasób w obszarze roboczym przed uruchomieniem powiązania.
Bind jest wspierany dla następujących zasobów:
- aplikacja
- klaster
- deska rozdzielcza
- zadanie
- punkt użycia modelu
- rurociąg
- monitor_jakości
- model zarejestrowany
- schemat
- głośność
Następujące polecenie wiąże zasób hello_job
ze swoim zdalnym odpowiednikiem w obszarze roboczym. Polecenie generuje różnicę i pozwala ci odmówić powiązania zasobów, ale jeśli zostanie to potwierdzone, wszelkie aktualizacje definicji zadania w pakiecie zostaną zastosowane do odpowiedniego zdalnego zadania, gdy pakiet zostanie ponownie wdrożony.
databricks bundle deployment bind hello_job 6565621249
Usuwanie powiązania zasobu pakietu
Jeśli chcesz usunąć łącze między zasobem w pakiecie a jego zdalnym odpowiednikiem w obszarze roboczym, użyj polecenia bundle deployment unbind
:
databricks bundle deployment unbind [resource-key]
Na przykład, aby rozwiązać powiązanie zasobu hello_job
:
databricks bundle deployment unbind hello_job
Generowanie podsumowania pakietu
Polecenie bundle summary
zwraca podsumowanie tożsamości i zasobów pakietu, w tym linki szczegółowe dla zasobów, dzięki czemu można łatwo przejść do zasobu w obszarze roboczym usługi Databricks.
databricks bundle summary
Przykładowy wynik poniżej to podsumowanie pakietu o nazwie my_pipeline_bundle
, który definiuje zadanie i potok.
Name: my_pipeline_bundle
Target: dev
Workspace:
Host: https://myworkspace.cloud.databricks.com
User: someone@example.com
Path: /Users/someone@example.com/.bundle/my_pipeline/dev
Resources:
Jobs:
my_project_job:
Name: [dev someone] my_project_job
URL: https://myworkspace.cloud.databricks.com/jobs/206000809187888?o=6051000018419999
Pipelines:
my_project_pipeline:
Name: [dev someone] my_project_pipeline
URL: https://myworkspace.cloud.databricks.com/pipelines/7f559fd5-zztz-47fa-aa5c-c6bf034b4f58?o=6051000018419999
Wskazówka
Możesz również użyć bundle open
, aby przejść do zasobu w obszarze roboczym usługi Databricks. Zobacz Otwieranie zasobu w obszarze roboczym.
Wdrażaj pakiet
Aby wdrożyć pakiet do zdalnego obszaru roboczego, uruchom polecenie bundle deploy
z katalogu głównego projektu pakietu. Jeśli nie określono żadnych opcji poleceń, zostanie użyty domyślny element docelowy zadeklarowany w plikach konfiguracji pakietu.
databricks bundle deploy
Aby wdrożyć pakiet na określony cel, ustaw opcję -t
(lub --target
) zgodnie z nazwą określoną w plikach konfiguracyjnych pakietu. Na przykład dla obiektu docelowego zadeklarowanego z nazwą dev
:
databricks bundle deploy -t dev
Pakiet można wdrożyć w wielu obszarach roboczych, takich jak obszary robocze programistyczne, przejściowe i produkcyjne. Zasadniczo właściwość root_path
to jest to, co określa unikatową tożsamość pakietu, która domyślnie wynosi ~/.bundle/${bundle.name}/${bundle.target}
. W związku z tym tożsamość pakietu składa się z tożsamości narzędzia wdrażania, nazwy pakietu i nazwy docelowej pakietu. Jeśli są one identyczne w różnych pakietach, wdrożenie tych pakietów będzie przeszkadzać sobie nawzajem.
Ponadto wdrożenie pakietu śledzi zasoby tworzone w docelowym obszarze roboczym według ich identyfikatorów, które jako stan są przechowywane w systemie plików tego obszaru roboczego. Nazwy zasobów nie są używane do korelowania między wdrożeniem pakietu a instancją zasobu, więc:
- Jeśli zasób w konfiguracji pakietu nie istnieje w docelowym obszarze roboczym, zostanie utworzony.
- Jeśli w docelowym obszarze roboczym istnieje zasób w konfiguracji pakietu, zostanie on zaktualizowany w obszarze roboczym.
- Jeśli zasób zostanie usunięty z konfiguracji pakietu, zostanie on usunięty z docelowego obszaru roboczego, jeśli został wcześniej wdrożony.
- Skojarzenie zasobu z pakietem można zapomnieć tylko wtedy, gdy zmienisz nazwę pakietu, element docelowy pakietu lub obszar roboczy. Możesz uruchomić polecenie
bundle validate
, aby wyświetlić podsumowanie zawierające te wartości.
Uruchom zadanie lub potok
Aby uruchomić określone zadanie lub potok, użyj polecenia bundle run
. Trzeba określić klucz zasobu dla zadania lub potoku zdefiniowanego w plikach konfiguracyjnych pakietu. Domyślnie używane jest środowisko zadeklarowane w plikach konfiguracji pakietu. Aby na przykład uruchomić zadanie hello_job
w środowisku domyślnym, uruchom następujące polecenie:
databricks bundle run hello_job
Aby uruchomić zadanie z kluczem hello_job
w kontekście obiektu docelowego zadeklarowanego z nazwą dev
:
databricks bundle run -t dev hello_job
Weryfikowanie potoku
Jeśli chcesz uruchomić weryfikację potoku, użyj opcji --validate-only
, jak pokazano w poniższym przykładzie:
databricks bundle run --validate-only my_pipeline
Przekazywanie parametrów zadania
Aby przekazać parametry zadania, użyj opcji --params
, a następnie podaj pary klucz-wartość, rozdzielone przecinkami, gdzie klucz jest nazwą parametru. Na przykład następujące polecenie ustawia parametr o nazwie message
dla HelloWorld
zadania hello_job
:
databricks bundle run --params message=HelloWorld hello_job
Uwaga
Parametry można przekazać do zadań przy użyciu opcji zadań, ale opcja --params
jest zalecaną metodą przekazywania parametrów zadania. Błąd występuje, jeśli parametry zadania są określone dla zadania, które nie ma zdefiniowanych parametrów zadania lub czy parametry zadania są określone dla zadania, które ma zdefiniowane parametry zadania.
Anulowanie zadania
Aby anulować i ponownie uruchomić istniejący przebieg zadania lub aktualizację potoku, użyj opcji --restart
:
databricks bundle run --restart hello_job
Wykonywanie skryptów
Dołącz --
(podwójny łącznik) po bundle run
, aby wykonać skrypty przy użyciu skonfigurowanych poświadczeń uwierzytelniania pakietu. Na przykład następujące polecenie zwraca bieżący katalog roboczy bieżącego użytkownika:
databricks bundle run -- python3 -c 'import os; print(os.getcwd())'
Informacje o uwierzytelnianiu pakietu są przekazywane do procesów podrzędnych przy użyciu zmiennych środowiskowych. Zobacz Ujednolicone uwierzytelnianie klienta usługi Databricks.
Otwieranie zasobu w obszarze roboczym
Aby nawigować do zasobu pakietu w przestrzeni roboczej, uruchom polecenie bundle open
z katalogu głównego projektu pakietu, określając zasób, który chcesz otworzyć. Jeśli klucz zasobu nie zostanie określony, to polecenie wyświetli listę zasobów pakietu, z których chcesz wybrać.
databricks bundle open [resource-key]
Dla przykładu, poniższe polecenie uruchamia przeglądarkę i nawiguję do dashboardu baby_gender_by_county w pakiecie w przestrzeni roboczej Databricks skonfigurowanej dla tego pakietu.
databricks bundle open baby_gender_by_county
Zniszcz pakiet
Ostrzeżenie
Zniszczenie pakietu skutkuje trwałym usunięciem wcześniej wdrożonych zadań, potoków i artefaktów związanych z tym pakietem. Nie można tego cofnąć.
Aby usunąć zadania, potoki i artefakty, które zostały wcześniej wdrożone, uruchom polecenie bundle destroy
. Następujące polecenie usuwa wszystkie wcześniej wdrożone zadania, rurociągi i artefakty zdefiniowane w plikach konfiguracji pakietu:
databricks bundle destroy
Uwaga
Tożsamość pakietu składa się z nazwy pakietu, celu pakietu i obszaru roboczego. Jeśli zmieniono dowolny z tych elementów, a następnie spróbujesz zniszczyć pakiet przed wdrożeniem, wystąpi błąd.
Domyślnie zostaniesz poproszony o potwierdzenie trwałego usunięcia wcześniej wdrożonych zadań, potoków i artefaktów. Aby pominąć te monity i wykonać automatyczne trwałe usunięcie, dodaj opcję --auto-approve
do polecenia bundle destroy
.