bundle
grupa poleceń
Uwaga
Te informacje dotyczą interfejsu wiersza polecenia usługi Databricks w wersji 0.218.0 lub nowszej. Aby znaleźć swoją wersję interfejsu wiersza polecenia usługi Databricks, uruchom polecenie databricks -v
.
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?.
Ważne
Aby zainstalować interfejs wiersza polecenia usługi Databricks, zobacz Instalowanie lub aktualizowanie interfejsu wiersza polecenia usługi Databricks. Aby skonfigurować uwierzytelnianie dla interfejsu wiersza polecenia usługi Databricks, zobacz Uwierzytelnianie dla interfejsu wiersza polecenia 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 polecenie w następujący sposób, a następnie odpowiedz bundle init
na monity na ekranie:
databricks bundle init
Aby utworzyć pakiet zasobów usługi Databricks przy użyciu szablonu pakietu zasobów usługi Databricks, uruchom następujące bundle init
polecenie:
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 zasobów usługi Databricks, 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.
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 lub potoku, który już istnieje w obszarze roboczym usługi Databricks. To polecenie generuje *.yml
plik zadania lub potoku w resources
folderze projektu pakietu, a także pobiera wszystkie notesy, do których odwołuje się konfiguracja zadania lub potoku. Obecnie to polecenie obsługuje tylko zadania z zadaniami notesu.
Ważne
Polecenie bundle generate
jest udostępniane jako wygoda automatycznego generowania konfiguracji zasobów. Jednak jeśli ta konfiguracja 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 jako pierwszy w zasobie.
Uruchom polecenie w bundle generate
następujący sposób:
databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]
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
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]
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 pakietu
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
Niszczenie pakietu
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 .