Разработка файла колес Python с помощью пакетов ресурсов Databricks
В этой статье описывается, как создать, развернуть и запустить файл колесика Python в рамках проекта пакета ресурсов Databricks. См. сведения о пакетах ресурсов Databricks?
Требования
- Databricks CLI версии 0.218.0 или более поздней. Чтобы проверить установленную версию интерфейса командной строки Databricks, выполните команду
databricks -v
. Чтобы установить интерфейс командной строки Databricks, см. статью "Установка или обновление интерфейса командной строки Databricks". - Удаленная рабочая область должна иметь включенные файлы рабочей области. См. раздел " Что такое файлы рабочей области?".
Решение. Создание пакета вручную или с помощью шаблона
Определите, нужно ли создать начальный пакет с помощью шаблона или создать пакет вручную. Создание пакета с помощью шаблона проще и быстрее, но пакет может создавать содержимое, которое не требуется, и параметры по умолчанию пакета должны быть дополнительно настроены для реальных приложений. Создание пакета вручную обеспечивает полный контроль над параметрами пакета, но вы должны быть знакомы с тем, как работают пакеты, так как вы выполняете всю работу с самого начала. Выберите один из следующих наборов шагов:
Создание пакета с помощью шаблона
В этих шагах вы создадите пакет с помощью шаблона пакета Azure Databricks по умолчанию для Python. В этом руководстве описано, как создать пакет, состоящий из файлов для сборки в файл колесика Python, и определение задания Azure Databricks для создания этого файла колеса Python. Затем вы проверяете, развертываете и создаете развернутые файлы в файл колеса Python из задания колеса Python в рабочей области Azure Databricks.
Шаблон пакета azure Databricks по умолчанию для Python использует средства установки для создания файла колес Python. Если вы хотите использовать поэзию для создания файла колеса Python, следуйте инструкциям далее в этом разделе, чтобы заменить setuptools
реализацию для реализации поэзии.
Шаг 1. Настройка аутентификации
На этом шаге вы настроили проверку подлинности между интерфейсом командной строки Databricks на компьютере разработки и рабочей областью Azure Databricks. В этой статье предполагается, что вы хотите использовать проверку подлинности OAuth на компьютере (U2M) и соответствующий профиль конфигурации Azure Databricks с именем DEFAULT
проверки подлинности.
Примечание.
Проверка подлинности U2M подходит для выполнения этих действий в режиме реального времени. Для полностью автоматизированных рабочих процессов Databricks рекомендует использовать проверку подлинности OAuth на компьютере (M2M). Инструкции по настройке проверки подлинности M2M см. в разделе "Проверка подлинности".
Используйте интерфейс командной строки Databricks для локального запуска управления маркерами OAuth, выполнив следующую команду для каждой целевой рабочей области.
В следующей команде замените
<workspace-url>
URL-адрес Azure Databricks для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
Интерфейс командной строки Databricks предлагает сохранить сведения, введенные в качестве профиля конфигурации Azure Databricks. Нажмите,
Enter
чтобы принять предлагаемое имя профиля, или введите имя нового или существующего профиля. Любой существующий профиль с тем же именем перезаписывается с введенными сведениями. Профили можно использовать для быстрого переключения контекста проверки подлинности в нескольких рабочих областях.Чтобы получить список существующих профилей, в отдельном терминале или командной строке используйте интерфейс командной строки Databricks для выполнения команды
databricks auth profiles
. Чтобы просмотреть существующие параметры конкретного профиля, выполните командуdatabricks auth env --profile <profile-name>
.В веб-браузере выполните инструкции на экране, чтобы войти в рабочую область Azure Databricks.
Чтобы просмотреть текущее значение маркера OAuth профиля и метку времени окончания срока действия маркера, выполните одну из следующих команд:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Если у вас есть несколько профилей с
--host
одинаковым значением, может потребоваться указать и-p
параметры--host
вместе, чтобы помочь Databricks CLI найти правильные соответствующие сведения о маркере OAuth.
Шаг 2. Создание пакета
Пакет содержит артефакты, которые требуется развернуть, и параметры рабочих процессов, которые требуется запустить.
Используйте терминал или командную строку, чтобы переключиться в каталог на локальном компьютере разработки, который будет содержать созданный пакет шаблона.
Используйте версию интерфейса командной
bundle init
строки Databricks, чтобы выполнить команду:databricks bundle init
Для
Template to use
этого оставьте значениеdefault-python
по умолчанию, нажав клавишуEnter
.Для
Unique name for this project
этого оставьте значениеmy_project
по умолчанию или введите другое значение, а затем нажмите клавишуEnter
. Это определяет имя корневого каталога для этого пакета. Этот корневой каталог создается в текущем рабочем каталоге.Для
Include a stub (sample) notebook
, выберитеno
и нажмитеEnter
. При этом интерфейс командной строки Databricks не добавляет пример записной книжки в пакет.Для
Include a stub (sample) DLT pipeline
, выберитеno
и нажмитеEnter
. При этом интерфейс командной строки Databricks не определяет пример конвейера Delta Live Tables в пакете.Для
Include a stub (sample) Python package
этого оставьте значениеyes
по умолчанию, нажав клавишуEnter
. Это указывает Databricks CLI добавить примеры файлов пакета колес Python и связанных инструкций по сборке в пакет.
Шаг 3. Изучение пакета
Чтобы просмотреть файлы, созданные шаблоном, переключитесь в корневой каталог созданного пакета и откройте этот каталог с помощью предпочтительной интегрированной среды разработки, например Visual Studio Code. К файлам, интересующим особый интерес, относятся следующие:
databricks.yml
: этот файл указывает программное имя пакета, содержит ссылку на определение задания колеса Python и задает параметры целевой рабочей области.resources/<project-name>_job.yml
: этот файл задает параметры задания колеса Python.src/<project-name>
: в этом каталоге содержатся файлы, которые использует задание колеса Python для создания файла колес Python.
Примечание.
Если вы хотите установить файл колеса Python в целевом кластере с установленным databricks Runtime 12.2 LTS или ниже, необходимо добавить в файл следующее сопоставление databricks.yml
верхнего уровня:
# Applies to all tasks of type python_wheel_task.
experimental:
python_wheel_wrapper: true
Это сопоставление указывает интерфейсу командной строки Databricks выполнить следующие действия:
- Разверните копию файла колеса Python в фоновом режиме. Обычно это путь
${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl
развертывания. - Создайте записную книжку в фоновом режиме, содержащую инструкции по установке предыдущего развернутого файла колеса Python в целевом кластере. Путь к этой записной книжке обычно
${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>
является. - При выполнении задания, содержащего задачу колеса Python, и задачи ссылаются на предыдущий файл колеса Python, задание создается в фоновом режиме, на котором выполняется предыдущая записная книжка.
Вам не нужно указывать это сопоставление для целевых кластеров с установленной средой выполнения Databricks 13.1 или более поздней версии, так как установки колес Python из файловой системы рабочей области Azure Databricks будут автоматически устанавливаться в этих целевых кластерах.
Шаг 4. Обновление пакета проекта для использования поэзии
По умолчанию шаблон пакета задает сборку файла колеса Python, используя setuptools
вместе с файлами setup.py
и requirements-dev.txt
. Если вы хотите сохранить эти значения по умолчанию, перейдите к шагу 5. Проверьте файл конфигурации пакета проекта.
Чтобы обновить пакет проекта, чтобы использовать поэзию вместо setuptools
этого, убедитесь, что локальный компьютер разработки соответствует следующим требованиям:
- Поэзия версии 1.6 или более поздней. Чтобы проверить установленную версию поэзии, выполните команду
poetry -V
илиpoetry --version
. Сведения об установке или обновлении поэзии см. в разделе "Установка". - Python версии 3.10 или более поздней. Чтобы проверить версию Python, выполните команду
python -V
илиpython --version
. - Databricks CLI версии 0.209.0 или более поздней. В вашей версии интерфейса командной строки Databricks выполните команду
databricks -v
илиdatabricks --version
. См. статью "Установка или обновление интерфейса командной строки Databricks".
Внесите следующие изменения в пакет проекта:
Из корневого каталога пакета укажите
poetry
инициализировать сборки колес Python для поэзии, выполнив следующую команду:poetry init
Поэзия отображает несколько подсказок для завершения. Для сборки колес Python ответьте на эти запросы следующим образом, чтобы соответствовать соответствующим параметрам по умолчанию в пакете проекта:
- Для
Package name
параметра введите имя дочерней папки в разделе/src
, а затем нажмите клавишуEnter
. Это также должно быть значение пакетаname
, определенное в файле пакетаsetup.py
. - Для
Version
, введите0.0.1
и нажмитеEnter
клавишу. Это соответствует номеру версии, определенному в файле пакетаsrc/<project-name>/__init__.py
. - Для
Description
, введитеwheel file based on <project-name>/src
(заменив<project-name>
имя проекта) и нажмите клавишуEnter
. Это соответствует значениюdescription
, определенному в файле шаблонаsetup.py
. - Для
Author
, нажмитеEnter
клавишу . Это значение по умолчанию соответствует автору, определенному в файле шаблонаsetup.py
. - Для
License
, нажмитеEnter
клавишу . В шаблоне нет лицензии. - Для
Compatible Python versions
этого введите версию Python, которая соответствует одной из них в целевых кластерах Azure Databricks (например,^3.10
) и нажмите клавишуEnter
. - Для
Would you like to define your main dependencies interactively?
типаno
и нажмите клавишуEnter
. Позже вы определите зависимости. - Для
Would you like to define your development dependencies interactively?
типаno
и нажмите клавишуEnter
. Позже вы определите зависимости. - Для нажатия
Do you confirm generation?
Enter
.
- Для
После выполнения запросов поэзия добавляет
pyproject.toml
файл в проект пакета. Сведения оpyproject.toml
файле см. в файле pyproject.toml.В корневом каталоге пакета укажите
poetry
для чтенияpyproject.toml
файла, разрешить зависимости и установить их, создатьpoetry.lock
файл для блокировки зависимостей и, наконец, создать виртуальную среду. Для этого выполните следующую команду:poetry install
Добавьте следующий раздел в конце
pyproject.toml
файла, заменив<project-name>
имя каталога, содержащегоsrc/<project-name>/main.py
файл (например,my_project
):[tool.poetry.scripts] main = "<project-name>.main:main"
В этом разделе указывается точка входа колеса Python для задания колеса Python.
Добавьте следующее сопоставление на верхнем уровне файла пакета
databricks.yml
:artifacts: default: type: whl build: poetry build path: .
Это сопоставление указывает интерфейсу командной строки Databricks использовать поэзию для создания файла колес Python.
setup.py
Удалите иrequirements-dev.txt
файлы из пакета, так как поэзия не нуждается в них.
Шаг 5. Проверка файла конфигурации пакета проекта
На этом шаге проверяется, действительна ли конфигурация пакета.
В корневом каталоге используйте интерфейс командной строки Databricks для выполнения
bundle validate
команды следующим образом:databricks bundle validate
Если возвращается сводка конфигурации пакета, проверка выполнена успешно. Если возвращаются какие-либо ошибки, исправьте ошибки и повторите этот шаг.
При внесении изменений в пакет после этого шага необходимо повторить этот шаг, чтобы проверить, действительна ли конфигурация пакета.
Шаг 6. Создание файла колеса Python и развертывание локального проекта в удаленной рабочей области
На этом шаге вы создадите файл колеса Python, разверните созданный файл колеса Python в удаленной рабочей области Azure Databricks и создадите задание Azure Databricks в рабочей области.
Если вы используете
setuptools
, установитеwheel
иsetuptools
пакеты, если это еще не сделано, выполнив следующую команду:pip3 install --upgrade wheel setuptools
В терминале Visual Studio Code используйте интерфейс командной строки Databricks, чтобы выполнить
bundle deploy
команду следующим образом:databricks bundle deploy -t dev
Если вы хотите проверить, был ли развернут локально созданный файл колеса Python:
- На боковой панели рабочей области Azure Databricks щелкните "Рабочая область".
- Щелкните в следующей папке: "Пользователи >
<your-username>
> рабочей области > .bundle.dev> ><project-name>
> артефакты > .internal".><random-guid>
Файл колеса Python должен находиться в этой папке.
Если вы хотите проверить, создано ли задание:
- На боковой панели рабочей области Azure Databricks щелкните "Рабочие процессы".
- На вкладке "Задания " щелкните [dev
<your-username>
]<project-name>
_job. - Перейдите на вкладку "Задачи ".
Должна быть одна задача: main_task.
При внесении изменений в пакет после этого шага необходимо повторить шаги 5-6, чтобы проверить, действительна ли конфигурация пакета, а затем повторно разверните проект.
Шаг 7. Запуск развернутого проекта
На этом шаге вы запустите задание Azure Databricks в рабочей области.
В корневом каталоге используйте интерфейс командной строки Databricks для выполнения
bundle run
команды, как показано ниже, заменив<project-name>
имя проекта на шаге 2.databricks bundle run -t dev <project-name>_job
Скопируйте значение, которое отображается в терминале и вставьте это значение
Run URL
в веб-браузер, чтобы открыть рабочую область Azure Databricks.В рабочей области Azure Databricks после успешного завершения задачи и отображается зеленая строка заголовка, щелкните задачу main_task , чтобы просмотреть результаты.
При внесении изменений в пакет после этого шага необходимо повторить шаги 5-7, чтобы проверить, действительна ли конфигурация пакета, повторно разверните проект и запустите повторно развернутый проект.
Вы достигли конца шагов по созданию пакета с помощью шаблона.
Создание пакета вручную
В этих шагах вы создадите пакет с самого начала с помощью руки. В этом руководстве описано, как создать пакет, состоящий из файлов для сборки в файл колеса Python, и определение задания Databricks для создания этого файла колеса Python. Затем вы проверяете, развертываете и создаете развернутые файлы в файл колеса Python из задания колеса Python в рабочей области Databricks.
Эти действия включают добавление содержимого в файл YAML. При необходимости может потребоваться использовать интегрированную среду разработки (IDE), которая предоставляет автоматические предложения схемы и действия при работе с файлами YAML. Следующие действия используют Visual Studio Code с расширением YAML , установленным из Visual Studio Code Marketplace.
В следующих шагах предполагается, что вы уже знаете:
- Создание, сборка и работа с файлами колес Python с помощью поэзии или
setuptools
. Для поэзии см . основные сведения об использовании. Дополнительныеsetuptools
сведения см. в руководстве пользователя по упаковке Python. - Как использовать файлы колес Python в рамках задания Azure Databricks. Ознакомьтесь с файлом колес Python в задании Azure Databricks.
Следуйте этим инструкциям, чтобы создать пример пакета, который создает файл колеса Python с помощью поэзии или setuptools
развертывает файл колеса Python, а затем запускает развернутый файл колеса Python.
Если вы уже создали файл колесика Python и просто хотите развернуть и запустить его, перейдите вперед, чтобы указать параметры колес Python в файле конфигурации пакета на шаге 3. Создайте файл конфигурации пакета.
Шаг 1. Настройка аутентификации
На этом шаге вы настроили проверку подлинности между интерфейсом командной строки Databricks на компьютере разработки и рабочей областью Azure Databricks. В этой статье предполагается, что вы хотите использовать проверку подлинности OAuth на компьютере (U2M) и соответствующий профиль конфигурации Azure Databricks с именем DEFAULT
проверки подлинности.
Примечание.
Проверка подлинности U2M подходит для выполнения этих действий в режиме реального времени. Для полностью автоматизированных рабочих процессов Databricks рекомендует использовать проверку подлинности OAuth на компьютере (M2M). Инструкции по настройке проверки подлинности M2M см. в разделе "Проверка подлинности".
Используйте интерфейс командной строки Databricks для локального запуска управления маркерами OAuth, выполнив следующую команду для каждой целевой рабочей области.
В следующей команде замените
<workspace-url>
URL-адрес Azure Databricks для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
Интерфейс командной строки Databricks предлагает сохранить сведения, введенные в качестве профиля конфигурации Azure Databricks. Нажмите,
Enter
чтобы принять предлагаемое имя профиля, или введите имя нового или существующего профиля. Любой существующий профиль с тем же именем перезаписывается с введенными сведениями. Профили можно использовать для быстрого переключения контекста проверки подлинности в нескольких рабочих областях.Чтобы получить список существующих профилей, в отдельном терминале или командной строке используйте интерфейс командной строки Databricks для выполнения команды
databricks auth profiles
. Чтобы просмотреть существующие параметры конкретного профиля, выполните командуdatabricks auth env --profile <profile-name>
.В веб-браузере выполните инструкции на экране, чтобы войти в рабочую область Azure Databricks.
Чтобы просмотреть текущее значение маркера OAuth профиля и метку времени окончания срока действия маркера, выполните одну из следующих команд:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Если у вас есть несколько профилей с
--host
одинаковым значением, может потребоваться указать и-p
параметры--host
вместе, чтобы помочь Databricks CLI найти правильные соответствующие сведения о маркере OAuth.
Шаг 2. Создание пакета
Пакет содержит артефакты, которые требуется развернуть, и параметры рабочих процессов, которые требуется запустить.
В корневом каталоге пакета создайте следующие папки и файлы в зависимости от того, используется ли поэзия или
setuptools
для создания файлов колес Python:Poetry
├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── pyproject.toml
Средства установки
├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── setup.py
Оставьте файл пустым
__init__.py
.Добавьте следующий код в
main.py
файл и сохраните файл:from my_package.my_module import * def main(): first = 200 second = 400 print(f"{first} + {second} = {add_two_numbers(first, second)}") print(f"{second} - {first} = {subtract_two_numbers(second, first)}") print(f"{first} * {second} = {multiply_two_numbers(first, second)}") print(f"{second} / {first} = {divide_two_numbers(second, first)}") if __name__ == "__main__": main()
Добавьте следующий код в
my_module.py
файл и сохраните файл:def add_two_numbers(a, b): return a + b def subtract_two_numbers(a, b): return a - b def multiply_two_numbers(a, b): return a * b def divide_two_numbers(a, b): return a / b
Добавьте следующий код в
pyproject.toml
файл илиsetup.py
файл, а затем сохраните файл:Pyproject.toml
[tool.poetry] name = "my_package" version = "0.0.1" description = "<my-package-description>" authors = ["my-author-name <my-author-name>@<my-organization>"] [tool.poetry.dependencies] python = "^3.10" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] main = "my_package.main:main"
- Замените
my-author-name
основным именем контакта вашей организации. - Замените
my-author-name>@<my-organization
основным контактным адресом электронной почты вашей организации. - Замените
<my-package-description>
отображаемым описанием файла колеса Python.
Setup.py
from setuptools import setup, find_packages import src setup( name = "my_package", version = "0.0.1", author = "<my-author-name>", url = "https://<my-url>", author_email = "<my-author-name>@<my-organization>", description = "<my-package-description>", packages=find_packages(where='./src'), package_dir={'': 'src'}, entry_points={ "packages": [ "main=my_package.main:main" ] }, install_requires=[ "setuptools" ] )
- Замените
https://<my-url>
URL-адрес организации. - Замените
<my-author-name>
основным именем контакта вашей организации. - Замените
<my-author-name>@<my-organization>
основным контактным адресом электронной почты вашей организации. - Замените
<my-package-description>
отображаемым описанием файла колеса Python.
- Замените
Шаг 3. Создание файла конфигурации пакета
Файл конфигурации пакета описывает артефакты, которые требуется развернуть, и рабочие процессы, которые требуется запустить.
В корневом каталоге пакета добавьте файл конфигурации пакета с именем
databricks.yml
. Добавьте следующий код в этот файл:Poetry
Примечание.
Если вы уже создали файл колесика Python и хотите его развернуть, измените следующий файл конфигурации пакета, опустив
artifacts
сопоставление. Затем интерфейс командной строки Databricks предполагает, что файл колесика Python уже создан и автоматически развертывает файлы, указанные вlibraries
записях массиваwhl
.bundle: name: my-wheel-bundle artifacts: default: type: whl build: poetry build path: . resources: jobs: wheel-job: name: wheel-job tasks: - task_key: wheel-task new_cluster: spark_version: 13.3.x-scala2.12 node_type_id: Standard_DS3_v2 data_security_mode: USER_ISOLATION num_workers: 1 python_wheel_task: entry_point: main package_name: my_package libraries: - whl: ./dist/*.whl targets: dev: workspace: host: <workspace-url>
Средства установки
bundle: name: my-wheel-bundle resources: jobs: wheel-job: name: wheel-job tasks: - task_key: wheel-task new_cluster: spark_version: 13.3.x-scala2.12 node_type_id: Standard_DS3_v2 data_security_mode: USER_ISOLATION num_workers: 1 python_wheel_task: entry_point: main package_name: my_package libraries: - whl: ./dist/*.whl targets: dev: workspace: host: <workspace-url>
Замените
<workspace-url>
URL-адрес рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net
.Сопоставление
artifacts
требуется для сборки файлов колес Python с помощью поэзии и необязательно для создания файлов колес Python сsetuptools
помощью . Сопоставлениеartifacts
содержит одно или несколько определений артефактов со следующими сопоставлениями:- Сопоставление
type
должно присутствовать и задать, чтобыwhl
указать, что создается файл колесика Python. Дляsetuptools
этого используется значение по умолчанию,whl
если определения артефактов не указаны. - Сопоставление
path
указывает путь кpyproject.toml
файлу для поэзии или к файлуsetup.py
setuptools
. Этот путь относительноdatabricks.yml
файла. Дляsetuptools
этого пути (.
тот же каталог, чтоdatabricks.yml
и файл) по умолчанию. - Сопоставление
build
указывает на любые пользовательские команды сборки, выполняемые для сборки файла колеса Python. Дляsetuptools
этого по умолчанию используетсяpython3 setup.py bdist wheel
эта команда. - Сопоставление
files
состоит из одного или несколькихsource
сопоставлений, которые указывают дополнительные файлы для включения в сборку колеса Python. Значение по умолчанию отсутствует.
Примечание.
Если вы хотите установить файл колеса Python в целевом кластере с установленным databricks Runtime 12.2 LTS или ниже, необходимо добавить в файл следующее сопоставление
databricks.yml
верхнего уровня:# Applies to jobs with python_wheel_task and that use # clusters with Databricks Runtime 13.0 or below installed. experimental: python_wheel_wrapper: true
Это сопоставление указывает интерфейсу командной строки Databricks выполнить следующие действия:
- Развертывает копию файла колеса Python в фоновом режиме. Обычно это путь
${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl
развертывания. - Создает записную книжку в фоновом режиме, содержащую инструкции по установке предыдущего развернутого файла колеса Python в целевом кластере. Путь к этой записной книжке обычно
${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>
является. - При запуске задания, содержащего задачу колеса Python, и эта задача ссылается на предыдущий файл колес Python, задание создается в фоновом режиме, на котором выполняется предыдущая записная книжка.
Вам не нужно указывать это сопоставление для целевых кластеров с установленной средой выполнения Databricks 13.1 или более поздней версии, так как установки колес Python из файловой системы рабочей области Azure Databricks будут автоматически устанавливаться в этих целевых кластерах.
- Сопоставление
Если вы используете поэзию, сделайте следующее:
- Установите поэзию, версию 1.6 или более поздней, если она еще не установлена. Чтобы проверить установленную версию поэзии, выполните команду
poetry -V
илиpoetry --version
. - Убедитесь, что установлен Python версии 3.10 или более поздней. Чтобы проверить версию Python, выполните команду
python -V
илиpython --version
. - Убедитесь, что у вас есть Интерфейс командной строки Databricks версии 0.209.0 или более поздней. В вашей версии интерфейса командной строки Databricks выполните команду
databricks -v
илиdatabricks --version
. См. статью "Установка или обновление интерфейса командной строки Databricks".
- Установите поэзию, версию 1.6 или более поздней, если она еще не установлена. Чтобы проверить установленную версию поэзии, выполните команду
Если вы используете
setuptools
, установитеwheel
пакеты иsetuptools
пакеты, если они еще не установлены, выполнив следующую команду:pip3 install --upgrade wheel setuptools
Если вы планируете сохранить этот пакет с поставщиком Git, добавьте
.gitignore
файл в корневой каталог проекта и добавьте в этот файл следующие записи:Poetry
.databricks dist
Средства установки
.databricks build dist src/my_package/my_package.egg-info
Шаг 4. Проверка файла конфигурации пакета проекта
На этом шаге проверяется, действительна ли конфигурация пакета.
В корневом каталоге проверьте файл конфигурации пакета:
databricks bundle validate
Если возвращается сводка конфигурации пакета, проверка выполнена успешно. Если возвращаются какие-либо ошибки, исправьте ошибки и повторите этот шаг.
При внесении изменений в пакет после этого шага необходимо повторить этот шаг, чтобы проверить, действительна ли конфигурация пакета.
Шаг 5. Создание файла колеса Python и развертывание локального проекта в удаленной рабочей области
Создайте файл колесика Python локально, разверните созданный файл колеса Python в рабочей области, разверните записную книжку в рабочей области и создайте задание в рабочей области:
databricks bundle deploy -t dev
Шаг 6. Запуск развернутого проекта
Запустите развернутую работу, которая использует развернутую записную книжку для вызова развернутого файла колеса Python:
databricks bundle run -t dev wheel-job
В выходных данных скопируйте
Run URL
и вставьте его в адресную строку веб-браузера.На странице вывода выполнения задания отображаются следующие результаты:
200 + 400 = 600 400 - 200 = 200 200 * 400 = 80000 400 / 200 = 2.0
При внесении изменений в пакет после этого шага необходимо повторить шаги 3-5, чтобы проверить, действительна ли конфигурация пакета, повторно разверните проект и запустите повторно развернутый проект.
Создание и установка файла колеса Python для задания
Чтобы создать файл колесика Python с помощью поэзии или setuptools
, а затем использовать этот файл колеса Python в задании, необходимо добавить в файл одно или два сопоставления databricks.yml
.
Если вы используете поэзию, в файл необходимо включить следующее artifacts
databricks.yml
сопоставление. Это сопоставление выполняет poetry build
команду и использует pyproject.toml
файл, который находится в том же каталоге, что databricks.yml
и файл:
artifacts:
default:
type: whl
build: poetry build
path: .
Примечание.
Сопоставление artifacts
является необязательным для setuptools
. По умолчанию для setuptools
интерфейса командной строки Databricks выполняется команда python3 setup.py bdist_wheel
и используется setup.py
файл, который находится в том же каталоге, что databricks.yml
и файл. Интерфейс командной строки Databricks предполагает, что вы уже выполнили команду, например pip3 install --upgrade wheel setuptools
установить wheel
и setuptools
пакеты, если они еще не установлены.
Кроме того, сопоставление задачи задания libraries
должно содержать whl
значение, указывающее путь к созданному файлу колеса Python относительно файла конфигурации, в котором он объявлен. В следующем примере показано это в задаче записной книжки (многоточие указывает, что не указано содержимое для краткости):
resources:
jobs:
my-notebook-job:
name: my-notebook-job
tasks:
- task_key: my-notebook-job-notebook-task
notebook_task:
notebook_path: ./my_notebook.py
libraries:
- whl: ./dist/*.whl
new_cluster:
# ...
Создание и установка файла колеса Python для конвейера
Чтобы создать файл колесика Python с помощью поэзии или setuptools
ссылаться на файл колесика Python в конвейере Delta Live Tables, необходимо добавить сопоставление databricks.yml
в файл, если используется поэзия, и необходимо добавить %pip install
команду в записную книжку конвейера, как показано ниже.
Если вы используете поэзию, в файл необходимо включить следующее artifacts
databricks.yml
сопоставление. Это сопоставление выполняет poetry build
команду и использует pyproject.toml
файл, который находится в том же каталоге, что databricks.yml
и файл:
artifacts:
default:
type: whl
build: poetry build
path: .
Примечание.
Сопоставление artifacts
является необязательным для setuptools
. По умолчанию для setuptools
интерфейса командной строки Databricks выполняется команда python3 setup.py bdist_wheel
и используется setup.py
файл, который находится в том же каталоге, что databricks.yml
и файл. Интерфейс командной строки Databricks предполагает, что вы уже выполнили команду, например pip3 install --upgrade wheel setuptools
установить wheel
и setuptools
пакеты, если они еще не установлены.
Кроме того, связанная записная книжка конвейера должна содержать %pip install
команду для установки созданного файла колеса Python. См. библиотеки Python.