Udostępnij za pośrednictwem


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

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

Dobrym pomysłem jest potwierdzenie obszaru roboczego pakietu 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 .