Udostępnij za pośrednictwem


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 bundleelementu . 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ż:

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 .