bundle
grupa poleceń
Uwaga
Te informacje dotyczą interfejsu wiersza polecenia usługi Databricks w wersji 0.205 lub nowszej. Interfejs wiersza polecenia usługi Databricks jest w publicznej wersji zapoznawczej.
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 bundle
poleceń w interfejsie wiersza polecenia usługi Databricks umożliwia programowe weryfikowanie, wdrażanie i uruchamianie przepływów pracy usługi Azure Databricks, takich jak zadania usługi Azure Databricks, potoki tabel delta live i stosy MLOps. Zobacz Co to są pakiety zasobów usługi Databricks?.
bundle
Uruchamiasz polecenia, dołączając je do databricks bundle
elementu . Aby wyświetlić pomoc dotyczącą bundle
polecenia, uruchom polecenie databricks bundle -h
.
Tworzenie pakietu na podstawie szablonu projektu
Aby utworzyć pakiet zasobów usługi Databricks przy użyciu domyślnego szablonu pakietu zasobów usługi Databricks dla języka Python, uruchom następujące polecenie, a następnie odpowiedz bundle init
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
- Opracowywanie zadania w usłudze Azure Databricks przy użyciu pakietów zasobów usługi Databricks
- Opracowywanie potoków tabel delta live za pomocą pakietów zasobów usługi Databricks
- Pakiety zasobów usługi 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
Weryfikowanie 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.
Synchronizowanie drzewa pakietu z obszarem roboczym
Użyj polecenia , bundle sync
aby wykonać 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 jako wygoda produktywności. Aby uzyskać informacje o użyciu poleceń, zobacz synchronizowanie grupy poleceń.
Generowanie pliku konfiguracji pakietu
Możesz użyć bundle generate
polecenia , aby wygenerować konfigurację zasobów dla zadania, potoku lub pulpitu nawigacyjnego, który już istnieje w obszarze roboczym usługi Databricks. To polecenie generuje *.yml
plik zadania, potoku lub pulpitu nawigacyjnego w resources
folderze projektu pakietu, a także pobiera wszystkie pliki, takie jak notesy, do których odwołuje się konfiguracja.
Generowanie konfiguracji zadania lub potoku
Ważne
Polecenie bundle generate
jest udostępniane jako wygoda automatycznego generowania konfiguracji zasobów. Jednak gdy to zadanie lub konfiguracja potoku zostanie uwzględnione w pakiecie i wdrożone, tworzy nowy zasób i nie aktualizuje istniejącego zasobu, chyba że bundle deployment bind
został użyty wcześniej. Zobacz Wiązanie zasobów pakietu.
Aby wygenerować konfigurację zadania lub potoku, uruchom polecenie w bundle generate
następujący sposób:
databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]
Uwaga
Obecnie to polecenie obsługuje tylko zadania z zadaniami notesu.
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:
6565621249:
name: Hello Job
format: MULTI_TASK
tasks:
- task_key: run_notebook
existing_cluster_id: 0704-xxxxxx-yyyyyyy
notebook_task:
notebook_path: ./src/simple_notebook.py
source: WORKSPACE
run_if: ALL_SUCCESS
max_concurrent_runs: 1
Generowanie konfiguracji pulpitu nawigacyjnego
Aby wygenerować konfigurację istniejącego pulpitu nawigacyjnego w obszarze roboczym, uruchom polecenie bundle generate
, 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
Napiwek
Aby zaktualizować plik po wdrożeniu .lvdash.json
pulpitu nawigacyjnego, użyj --resource
opcji podczas uruchamiania bundle generate dashboard
w celu wygenerowania tego pliku dla istniejącego zasobu pulpitu nawigacyjnego. Aby stale sondować i pobierać aktualizacje do pulpitu nawigacyjnego, użyj --force
opcji i --watch
.
Wiązanie zasobów pakietu
Polecenie bundle deployment bind
umożliwia łączenie zdefiniowanych w pakiecie zadań i potoków z istniejącymi zadaniami i potokami w obszarze roboczym usługi Azure Databricks w celu zarządzania nimi przez pakiety zasobów usługi Databricks. Jeśli powiążesz zasób, istniejące zasoby usługi Azure Databricks w obszarze roboczym zostaną zaktualizowane na podstawie konfiguracji zdefiniowanej w pakiecie, z którą jest powiązana po następnym bundle deploy
.
Napiwek
Warto potwierdzić pakiet w obszarze roboczym przed uruchomieniem powiązania.
databricks bundle deployment bind [resource-key] [resource-id]
Na przykład następujące polecenie wiąże zasób hello_job
ze swoim zdalnym odpowiednikiem w obszarze roboczym. Polecenie zwraca różnicę i umożliwia odmowę powiązania zasobu, ale w przypadku potwierdzenia wszelkie aktualizacje definicji zadania w pakiecie są stosowane do odpowiedniego zadania zdalnego po następnym wdrożeniu pakietu.
databricks bundle deployment bind hello_job 6565621249
Użyj bundle deployment unbind
polecenia , jeśli chcesz usunąć połączenie między zadaniem lub potokiem w pakiecie i jego zdalnym odpowiednikiem w obszarze roboczym.
databricks bundle deployment unbind [resource-key]
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
Poniższe przykładowe dane wyjściowe to podsumowanie pakietu o nazwie my_pipeline_bundle
definiującego 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
Napiwek
Możesz również użyć bundle open
polecenia , aby przejść do zasobu w obszarze roboczym usługi Databricks. Zobacz Otwieranie zasobu pakietu.
Wdrażanie pakietu
Aby wdrożyć pakiet w zdalnym obszarze roboczym, uruchom bundle deploy
polecenie 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 w określonym obiekcie docelowym, ustaw -t
opcję (lub --target
) wraz z nazwą obiektu docelowego jako zadeklarowaną w plikach konfiguracji 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.
root_path
Zasadniczo właściwość określa unikatową tożsamość pakietu, która jest domyślnie ustawiona na ~/.bundle/${bundle.name}/${bundle.target}
wartość . 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 ingerować między sobą.
Ponadto wdrożenie pakietu śledzi zasoby tworzone w docelowym obszarze roboczym według ich identyfikatorów jako stanu przechowywanego w systemie plików obszaru roboczego. Nazwy zasobów nie są używane do korelowania między wdrożeniem pakietu a wystąpieniem 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.
Uruchamianie zadania lub potoku
Aby uruchomić określone zadanie lub potok, użyj bundle run
polecenia . Należy określić klucz zasobu zadania lub potoku zadeklarowanego w plikach konfiguracji 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
Jeśli chcesz wykonać przebieg weryfikacji potoku, użyj --validate-only
opcji , jak pokazano w poniższym przykładzie:
databricks bundle run --validate-only my_pipeline
Aby przekazać parametry zadania, użyj --params
opcji , a następnie rozdzielonych przecinkami par klucz-wartość, 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ń podrzędnych przy użyciu opcji zadania zadania, ale --params
opcja 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.
Aby anulować i ponownie uruchomić istniejące zadanie lub aktualizację potoku, użyj --restart
opcji:
databricks bundle run --restart hello_job
Otwieranie zasobu pakietu
Aby przejść do zasobu pakietu w obszarze roboczym, uruchom bundle open
polecenie z katalogu głównego projektu pakietu, określając zasób do otwarcia. 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]
Na przykład następujące polecenie uruchamia przeglądarkę i przechodzi do pulpitu nawigacyjnego baby_gender_by_county w pakiecie w obszarze roboczym usługi Databricks skonfigurowanym dla pakietu:
databricks bundle open baby_gender_by_county
Niszczenie pakietu
Ostrzeżenie
Zniszczenie pakietu powoduje trwałe usunięcie wcześniej wdrożonych zadań, potoków i artefaktów pakietu. Nie można tego cofnąć.
Aby usunąć zadania, potoki i artefakty, które zostały wcześniej wdrożone, uruchom bundle destroy
polecenie . Następujące polecenie usuwa wszystkie wcześniej wdrożone zadania, potoki i artefakty zdefiniowane w plikach konfiguracji pakietu:
databricks bundle destroy
Uwaga
Tożsamość pakietu składa się z nazwy pakietu, elementu docelowego 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 zostanie wyświetlony monit 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 --auto-approve
opcję do bundle destroy
polecenia .