Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При создании пакета может потребоваться включить ресурсы Databricks, которые уже существуют и полностью настроены в удаленной рабочей области. С помощью команды CLI bundle generate Databricks можно быстро создать конфигурацию в пакете для существующих приложений, панелей мониторинга, заданий и конвейеров. См. создание пакета databricks. Конфигурация, которую можно скопировать и вручную вставить в файлы конфигурации ресурсов пакета, доступна в пользовательском интерфейсе Databricks для некоторых ресурсов, таких как задания и конвейеры.
После создания конфигурации для ресурса в пакете и развертывания пакета используйте bundle deployment bind команду для привязки ресурса в пакете к соответствующему ресурсу в рабочей области. См. привязку развертывания пакета databricks.
На этой странице приведены простые примеры, использующие интерфейс командной строки Databricks или пользовательский интерфейс для создания или извлечения конфигурации ресурсов пакета. Дополнительные сведения об определениях ресурсов в пакетах см. в разделе "Декларативная автоматизация пакетов".
Подсказка
Существующие ресурсы можно добавить в пакеты в рабочей области с помощью пользовательского интерфейса Databricks. См. статью "Добавление существующего ресурса в пакет".
Создание конфигурации для существующего задания или конвейера с помощью интерфейса командной строки Databricks
Чтобы программно создать конфигурацию пакета для существующего задания или конвейера:
Получите идентификатор существующего задания или конвейера из боковой панели сведений о задании или конвейере в пользовательском интерфейсе. В качестве альтернативы используйте интерфейс командной строки
databricks jobs listDatabricks илиdatabricks pipelines list-pipelinesкоманду.bundle generate jobbundle generate pipelineВыполните команду CLI Databricks, задав задание или идентификатор конвейера:databricks bundle generate job --existing-job-id 6565621249databricks bundle generate pipeline --existing-pipeline-id 6565621249Эта команда создает файл конфигурации пакета для ресурса в папке пакета
resourcesи загружает все указанные артефакты в папкуsrc.
Вы также можете создать конфигурацию для существующей панели мониторинга. См. панель мониторинга создания пакета databricks.
Создание конфигурации для существующего конвейера Spark
Для программного создания конфигурации пакета для проекта Spark Declarative Pipelines (SDP) (он содержит spark-pipeline.yml файл):
Скопируйте или переместите весь проект конвейера Spark в папку
srcпакета.Выполните следующую команду:
databricks pipelines generate --existing-pipeline-dir src/my_pipeline
Дополнительные сведения см. в статье о создании конвейеров Databricks.
Получение существующего определения задания с помощью пользовательского интерфейса
Чтобы получить представление YAML существующего определения задания из пользовательского интерфейса рабочей области Azure Databricks:
На боковой панели рабочей области Azure Databricks щелкните "Задания и конвейеры".
При необходимости выберите фильтры "Задания " и " Принадлежащие мне ".
Щелкните по ссылке с названием вашей работы.
Рядом с кнопкой "Запустить сейчас " нажмите кнопку "Кебаб", а затем нажмите кнопку "Изменить как YAML".
Скопируйте YAML и добавьте его в файл
databricks.ymlвашего пакета, или создайте файл конфигурации для задания в каталогеresourcesпроекта вашего пакета и сделайте на него ссылку из файлаdatabricks.yml. См. ресурсы.Скачайте и добавьте все файлы и записные книжки Python, на которые ссылается существующее задание, в источник проекта пакета. Артефакты пакета обычно располагаются в каталоге
srcпакета.Подсказка
Вы можете экспортировать существующую записную книжку из рабочей области Azure Databricks в
.ipynbформат, выбрав в пользовательском интерфейсе записной книжки Azure Databricks из меню Файл > Экспорт > IPython Notebook.После добавления записных книжек, файлов Python и других артефактов в пакет измените ссылки на эти файлы в определении задания на их локальное расположение. Например, если в пакете у вас есть файл конфигурации
hello_job.job.ymlв папкеresources, и вы скачали записную книжку с именемhello.ipynbв папкуsrcвашего пакета, то содержимое файлаhello_job.job.ymlбудет следующим:resources: jobs: hello_job: name: hello_job tasks: - task_key: hello_task notebook_task: notebook_path: ../src/hello.ipynb
Дополнительные сведения о просмотре заданий в виде кода в пользовательском интерфейсе см. в разделе "Просмотр заданий в виде кода".
Получение существующего определения конвейера с помощью пользовательского интерфейса
Чтобы получить представление YAML существующего определения конвейера из пользовательского интерфейса рабочей области Azure Databricks:
На боковой панели рабочей области Azure Databricks щелкните "Задания и конвейеры".
При желании можно выбрать фильтр Пайплайнов.
Щелкните название вашего конвейера.
Рядом с кнопкой "Разработка " щелкните
Затем нажмите кнопку "Вид параметров YAML".
Скопируйте YAML определения конвейера в диалоговом окне Параметры конвейера в локальный буфер обмена, щелкнув на значок копирования.
Добавьте скопированный YAML в файл
databricks.ymlвашего пакета или создайте файл конфигурации для конвейера в папкеresourcesвашего проекта пакета и сослитесь на него из файлаdatabricks.yml. См. ресурсы.Скачайте и добавьте все файлы и записные книжки Python, на которые ссылается источник проекта пакета. Артефакты пакета обычно располагаются в каталоге
srcпакета.Подсказка
Вы можете экспортировать существующую записную книжку из рабочей области Azure Databricks в
.ipynbформат, выбрав в пользовательском интерфейсе записной книжки Azure Databricks из меню Файл > Экспорт > IPython Notebook.После добавления записных книжек, файлов Python и других артефактов в пакет убедитесь, что определение конвейера правильно ссылается на них. Например, для записной книжки с именем
hello.ipynb, которая находится вsrc/каталоге пакета:resources: pipelines: hello_pipeline: name: hello_pipeline libraries: - notebook: path: ../src/hello.ipynb
Привязка ресурса к удаленному аналогу
Как правило, после добавления ресурса в пакет необходимо убедиться, что ресурс в пакете и существующий ресурс в рабочей области остаются синхронизированными. Эта bundle deployment bind команда позволяет связать их. Если вы привязываете ресурс, привязанный ресурс Azure Databricks в рабочей области обновляется на основе конфигурации, определенной в пакете при следующем bundle deploy.
Дополнительные сведения о bundle deployment bind и подробности о ресурсной поддержке см. в разделе связывание развертывания пакета databricks.
Следующая команда привязывает ресурс hello_job к удаленному коллеге в рабочей области. Он запрашивает подтверждение, чтобы убедиться, что обновления конфигурации задания в пакете должны применяться к соответствующему удаленному заданию при следующем развертывании пакета.
databricks bundle deployment bind hello_job 6565621249
Чтобы удалить связь между ресурсом пакета и соответствующим объектом в рабочей области, используйте bundle deployment unbind. См. раздел об отмене привязки развертывания пакета databricks.
databricks bundle deployment unbind hello_job
Перенос ресурса, существующего в двух рабочих областях
В некоторых настройках один и тот же ресурс может существовать в нескольких рабочих областях. Например, то же задание может находиться в рабочей области разработки и эксплуатации. Если существующее задание добавляется в пакет, а затем пакет развертывается в одной из этих рабочих областей, создаются повторяющиеся задания. Чтобы предотвратить это, используйте databricks bundle generate и databricks bundle deployment bind вместе:
Определите цели разработки и продакшена в вашем пакете
databricks.yml.Создайте конфигурацию пакета для ресурса (в этом примере задание) в целевом объекте разработки:
databricks bundle generate job --existing-job-id <dev_job_id> –-target devКонфигурация ресурса в prod, скорее всего, будет отличаться от конфигурации ресурса в dev, поэтому теперь, когда вы создали конфигурацию для ресурса, определите рабочие параметры ресурса (в целевом объекте prod) в пакете.
targets: dev: default: true #... prod: #... resources: jobs: my_job: # Job prod settingsПривязать ресурс в пакете к существующему заданию в целях разработки и производства.
databricks bundle deployment bind my_job <dev_job_id> --target devdatabricks bundle deployment bind my_job <prod_job_id> --target prod
Теперь пакет можно развернуть в двух средах:
databricks bundle deploy --target dev
databricks bundle deploy --target prod