Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas tworzenia pakietu warto uwzględnić zasoby usługi Databricks, które już istnieją i zostały w pełni skonfigurowane w zdalnym obszarze roboczym. Za pomocą polecenia CLI bundle generate Databricks możesz szybko wygenerować automatycznie konfigurację w Twoim pakiecie dla istniejących aplikacji, pulpitów nawigacyjnych, zadań oraz potoków. Zobacz generowanie pakietu usługi databricks. Konfiguracja, którą można skopiować i ręcznie wkleić do plików konfiguracji zasobów pakietu, jest dostępna w interfejsie użytkownika Databricks dla pewnych zasobów, takich jak zadania i przepływy.
Po wygenerowaniu konfiguracji zasobu w pakiecie i wdrożeniu pakietu użyj bundle deployment bind polecenia , aby powiązać zasób w pakiecie z odpowiednim zasobem w obszarze roboczym. Zobacz powiązanie wdrożenia pakietu usługi databricks.
Ta strona zawiera proste przykłady użycia CLI Databricks lub interfejsu użytkownika (UI) do generowania lub pobierania konfiguracji zasobów pakietowych.
Aby uzyskać szczegółowe informacje o definicjach zasobów w pakietach, zobacz Zasoby pakietu zasobów usługi Databricks.
Generowanie istniejącej konfiguracji zadania lub potoku za pomocą narzędzia wiersza poleceń Databricks
Aby programowo wygenerować konfigurację pakietu dla istniejącego zadania lub potoku:
Pobierz identyfikator istniejącego zadania lub potoku z panelu bocznego Szczegóły zadania lub Szczegóły potoku w interfejsie użytkownika dla zadania lub potoku. Alternatywnie, użyj Databricks CLI
databricks jobs listlub poleceniadatabricks pipelines list-pipelines.Uruchom polecenie
bundle generate jobbundle generate pipelineDatabricks CLI, ustawiając identyfikator zadania lub potoku:databricks bundle generate job --existing-job-id 6565621249databricks bundle generate pipeline --existing-pipeline-id 6565621249To polecenie tworzy plik konfiguracji pakietu dla zasobu w folderze pakietu
resourcesi pobiera wszystkie odwołane artefakty do folderusrc.
Możesz również wygenerować konfigurację dla istniejącego pulpitu nawigacyjnego. Zobacz databricks bundle generate dashboard (Generowanie pulpitu nawigacyjnego w pakiecie databricks).
Pobieranie istniejącej definicji zadania przy użyciu interfejsu użytkownika
Aby pobrać reprezentację YAML istniejącej definicji zadania z interfejsu użytkownika obszaru roboczego usługi Azure Databricks:
Na pasku bocznym obszaru roboczego usługi Azure Databricks kliknij pozycję Zadania i potoki.
Opcjonalnie wybierz filtry Zadania i Należące do mnie .
Kliknij link Nazwa swojego zadania.
Obok przycisku Uruchom teraz kliknij kebab, a następnie kliknij pozycję Edytuj jako YAML.
Skopiuj plik YAML i dodaj go do pliku pakietu
databricks.ymllub utwórz plik konfiguracji dla zadania wresourceskatalogu projektu pakietu i odwołaj się do niego z plikudatabricks.yml. Zobacz zasoby.Pobierz i dodaj wszystkie pliki i notesy języka Python, do których odwołuje się istniejące zadanie, do źródła projektu pakietu. Artefakty pakietu zazwyczaj znajdują się w katalogu
srcwewnątrz pakietu.Wskazówka
Istniejący notatnik można wyeksportować z obszaru roboczego usługi Azure Databricks do
.ipynbformatu, wybierając z poziomu interfejsu użytkownika notatnika usługi Azure Databricks opcję Plik > Eksportuj > IPython Notebook.Po dodaniu notesów, plików języka Python i innych artefaktów do pakietu zmień odwołania do tych plików w definicji zadania na lokalizację lokalną. Na przykład, jeśli miałeś plik konfiguracji
hello_job.job.ymlw folderzeresourcesswojego pakietu i pobrałeś notes o nazwiehello.ipynbdo folderusrcswojego pakietu, zawartość plikuhello_job.job.ymlbyłaby następująca:resources: jobs: hello_job: name: hello_job tasks: - task_key: hello_task notebook_task: notebook_path: ../src/hello.ipynb
Aby uzyskać więcej informacji na temat wyświetlania zadań jako kodu w interfejsie użytkownika, zobacz Wyświetlanie zadań jako kodu.
Pobieranie istniejącej definicji potoku przy użyciu interfejsu użytkownika
Aby pobrać reprezentację YAML istniejącej definicji potoku z interfejsu użytkownika obszaru roboczego usługi Azure Databricks:
Na pasku bocznym obszaru roboczego usługi Azure Databricks kliknij pozycję Zadania i potoki.
Opcjonalnie wybierz filtr Potoki .
Kliknij nazwę swojego potoku.
Obok przycisku Programowanie kliknij
a następnie kliknij pozycję Wyświetl ustawienia YAML.
Skopiuj plik YAML definicji potoku w oknie dialogowym Ustawienia potoku YAML do lokalnego schowka, klikając ikonę kopiowania.
Dodaj skopiowany YAML do pliku
databricks.ymlw pakiecie, lub utwórz plik konfiguracji dla potoku w folderzeresourcesprojektu pakietu i odwołaj się do niego z plikudatabricks.yml. Zobacz zasoby.Pobierz i dodaj wszystkie pliki i notesy języka Python, do których odwołuje się źródło projektu pakietu. Artefakty pakietu zazwyczaj znajdują się w katalogu
srcwewnątrz pakietu.Wskazówka
Istniejący notatnik można wyeksportować z obszaru roboczego usługi Azure Databricks do
.ipynbformatu, wybierając z poziomu interfejsu użytkownika notatnika usługi Azure Databricks opcję Plik > Eksportuj > IPython Notebook.Po dodaniu zeszytów, plików Python i innych artefaktów do pakietu upewnij się, że definicja przepływu pracy prawidłowo się do nich odwołuje. Na przykład w przypadku notesu o nazwie
hello.ipynb, który znajduje się w katalogusrc/pakietu:resources: pipelines: hello_pipeline: name: hello_pipeline libraries: - notebook: path: ../src/hello.ipynb
Wiązanie zasobu ze zdalnym odpowiednikiem
Zazwyczaj po dodaniu zasobu do pakietu należy upewnić się, że zasób w pakiecie i istniejący zasób w obszarze roboczym pozostają zsynchronizowane. Polecenie bundle deployment bind umożliwia ich łączenie. Jeśli powiążesz zasób, połączony zasób usługi Azure Databricks w obszarze roboczym zostanie zaktualizowany na podstawie konfiguracji zdefiniowanej w pakiecie przy następnym bundle deploy.
Aby uzyskać więcej informacji o bundle deployment bind i szczegółowe dane dotyczące obsługi zasobów, zobacz powiązanie wdrożenia pakietu Databricks.
Następujące polecenie wiąże zasób hello_job ze swoim zdalnym odpowiednikiem w obszarze roboczym. Zostanie wyświetlony monit z potwierdzeniem w celu upewnienia się, że aktualizacje konfiguracji zadania w zestawie zostaną zastosowane do odpowiedniego zadania zdalnego przy następnym wdrożeniu zestawu.
databricks bundle deployment bind hello_job 6565621249
Aby usunąć łącze między zasobem pakietu a jego odpowiednikiem w obszarze roboczym, użyj polecenia bundle deployment unbind. Zobacz databricks bundle deployment unbind.
databricks bundle deployment unbind hello_job
Migrowanie zasobu, który istnieje w dwóch obszarach roboczych
W niektórych konfiguracjach ten sam zasób może istnieć w więcej niż jednym obszarze roboczym. Na przykład to samo zadanie może znajdować się w obszarze projektowym i produkcyjnym. Jeśli istniejące zadanie zostanie dodane do pakietu, a następnie pakiet zostanie wdrożony w jednym z tych obszarów roboczych, zostaną utworzone zduplikowane zadania. Aby temu zapobiec, użyj polecenia databricks bundle generate i databricks bundle deployment bind razem:
Zdefiniuj obiekty docelowe deweloperskie i prod w pakiecie
databricks.yml.Wygeneruj konfigurację pakietu dla zasobu (w tym przykładzie zadanie) w obiekcie docelowym dewelopera:
databricks bundle generate job --existing-job-id <dev_job_id> –-target devKonfiguracja zasobu w wersji prod prawdopodobnie będzie inna niż konfiguracja zasobu w środowisku deweloperskim, więc teraz, gdy wygenerowano konfigurację zasobu, zdefiniuj ustawienia specyficzne dla środowiska produkcyjnego dla zasobu (w obiekcie docelowym prod) w pakiecie.
targets: dev: default: true #... prod: #... resources: jobs: my_job: # Job prod settingsPowiąż zasób w pakiecie z istniejącym zadaniem w miejscach docelowych deweloperskich i prod:
databricks bundle deployment bind my_job <dev_job_id> --target devdatabricks bundle deployment bind my_job <prod_job_id> --target prod
Pakiet można teraz wdrożyć w dwóch środowiskach:
databricks bundle deploy --target dev
databricks bundle deploy --target prod