Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
На этой странице описывается, как создавать, развертывать и запускать файл колесика Python с помощью пакетов ресурсов Databricks. См. раздел "Что такое пакеты ресурсов Databricks?".
Пример конфигурации, которая создает JAR-файл и отправляет его в каталог Unity, см. в разделе Пакет, который загружает JAR-файл в каталог Unity.
Requirements
- Интерфейс командной строки Databricks версии 0.218.0 или более поздней версии установлен, а проверка подлинности настроена. Чтобы проверить установленную версию интерфейса командной строки Databricks, выполните команду
databricks -v. Чтобы установить интерфейс командной строки Databricks, см. статью "Установка или обновление интерфейса командной строки Databricks". Сведения о настройке проверки подлинности см. в разделе "Настройка доступа к рабочей области". - Uv требуется для выполнения тестов и установки зависимостей для этого проекта из интегрированной среды разработки.
- Удаленная рабочая область должна иметь включенные файлы рабочей области. См. раздел "Что такое файлы рабочей области?".
- Существующий каталог. Сведения о создании каталога см. в разделе "Создание каталогов".
Создание пакета с помощью шаблона
Создайте пакет с помощью шаблона пакета ресурсов Databricks по умолчанию для Python. Этот пакет состоит из файлов для сборки в файл колесика Python и определения задания Azure Databricks для создания этого файла колес Python. Затем вы проверяете, развертываете и пакуете развернутые файлы в wheel-файл Python с помощью задания wheel в рабочей области Azure Databricks.
Если вы хотите создать пакет с нуля, см. статью "Создание пакета вручную".
Шаг 1. Создание пакета
Пакет содержит ресурсы, которые требуется развернуть, и параметры рабочих процессов, которые требуется запустить.
Используйте терминал или командную строку, чтобы переключиться в каталог на локальном компьютере разработки, который будет содержать созданный пакет шаблона.
Используйте версию Databricks CLI, чтобы выполнить команду
bundle init.databricks bundle initДля
Template to useоставьте значениеdefault-pythonпо умолчанию, нажавEnter.Для
Unique name for this projectоставьте значениеmy_projectпо умолчанию или введите другое значение, а затем нажмитеEnter. Это определяет имя корневого каталога для этого пакета. Этот корневой каталог создается в текущем рабочем каталоге.Для
Include a job that runs a notebook, выберитеnoи нажмитеEnter. Это указывает интерфейсу командной строки Databricks не добавлять пример записной книжки в ваш пакет.Для
Include an ETL pipeline, выберитеnoи нажмитеEnter. При этом интерфейс командной строки Databricks не определяет пример конвейера в пакете.Для
Include a stub (sample) Python packageоставьте значениеyesпо умолчанию, нажавEnter. Это инструктирует Databricks CLI добавить в вашу сборку примерные файлы Python wheel пакета и соответствующие инструкции по сборке.Для
Use serverless, выберитеyesи нажмитеEnter. В этом случае интерфейс командной строки Databricks позволяет настроить пакет для выполнения без сервера вычислений.Введите
Default catalog for any tables created by this project [hive_metastore]имя существующего каталога Unity Catalog.Для
Use a personal schema for each user working on this project., выберитеyes.
Шаг 2. Изучение пакета
Чтобы просмотреть файлы, созданные шаблоном, перейдите в корневой каталог созданного пакета и откройте этот каталог с помощью предпочтительной интегрированной среды разработки. К файлам, интересующим особый интерес, относятся следующие:
-
databricks.yml: этот файл указывает имя пакета, содержит ссылки на файлы пакета, задаетwhlпараметры сборки, определяет переменные каталога и схемы и задает параметры для целевых рабочих областей. -
resources/sample_job.job.yml: этот файл задает параметры задания для пакета Python в формате wheel. Сведения о параметрах задания см. в разделе "Задание". -
src/: эта папка содержит файлы, которые использует задание колеса Python для создания файла колес Python. -
tests/: эта папка содержит примеры модульных тестов. -
README.md: этот файл содержит дополнительные сведения о начале работы и использовании этого шаблона пакета.
Note
Если вы хотите установить файл колеса Python в кластере с Databricks Runtime 12.2 LTS или ниже, необходимо добавить в файл следующее сопоставление databricks.yml верхнего уровня:
# Applies to all tasks of type python_wheel_task.
experimental:
python_wheel_wrapper: true
Шаг 3. Проверка конфигурации пакета
Теперь проверьте, допустима ли конфигурация пакета.
Из корневого каталога используйте CLI Databricks для выполнения команды
bundle validate.databricks bundle validateЕсли возвращается сводка конфигурации пакета, проверка выполнена успешно. Если возвращаются какие-либо ошибки, исправьте ошибки и повторите этот шаг.
Шаг 4. Развертывание пакета в удаленной рабочей области
Затем разверните пакет в удаленной рабочей области Azure Databricks. Создайте файл колесика Python. Убедитесь, что задание Azure Databricks создано в вашей рабочей области.
В корневом каталоге пакета используйте интерфейс командной строки Databricks для выполнения команды
bundle deploy.databricks bundle deploy --target devУбедитесь, что локально созданный файл колеса Python был развернут:
- На боковой панели рабочей области Azure Databricks щелкните "Рабочая область".
- Щелкните в следующей папке: "Пользователи >>
<your-username>рабочей области > .bundle.dev><project-name>>> артефакты > .internal><whl-file-name>.whl".
Файл колеса Python должен находиться в этой папке.
Проверьте, было ли задание создано.
- На боковой панели рабочей области Azure Databricks щелкните "Задания и конвейеры".
- При необходимости выберите фильтры "Задания " и " Принадлежащие мне ".
- Щелкните [dev
<your-username>]sample_job. - Перейдите на вкладку Задачи. Должно быть одно python_wheel_task.
Если вы вносите изменения в пакет после этого шага, повторите шаги 3-4, чтобы проверить, действительна ли конфигурация пакета, а затем повторно разверните проект.
Шаг 5. Запуск развернутого проекта
Теперь активируйте выполнение задания Azure Databricks в рабочей области.
Из корневого каталога используйте CLI Databricks для выполнения команды
bundle run.databricks bundle run --target dev sample_jobСкопируйте значение, которое отображается в терминале и вставьте это значение
Run URLв веб-браузер, чтобы открыть рабочую область Azure Databricks.В рабочей области Azure Databricks, после успешного завершения задачи, когда отображается зелёная строка заголовка, щелкните задачу, чтобы просмотреть результаты.
Создание whl с помощью поэзии или инструментов установки
При использовании databricks bundle init с шаблоном Python по умолчанию создается пакет, показывающий, как настроить пакет, который создает колесо Python с помощью uv и pyproject.toml. Однако вы можете использовать поэзию или setuptools вместо этого построить колесо.
Установите Poetry или setuptools
Установка Poetry или
setuptools:Poetry
-
Установите поэзию, версию 1.6 или более поздней, если она еще не установлена. Чтобы проверить установленную версию поэзии, выполните команду
poetry -Vилиpoetry --version. - Убедитесь, что установлен Python версии 3.10 или более поздней. Чтобы проверить версию Python, выполните команду
python -Vилиpython --version.
Setuptools
Установите пакеты
wheelиsetuptools, если они еще не установлены, выполнив следующую команду:pip3 install --upgrade wheel setuptools-
Установите поэзию, версию 1.6 или более поздней, если она еще не установлена. Чтобы проверить установленную версию поэзии, выполните команду
Если вы планируете сохранить этот пакет с поставщиком Git, добавьте
.gitignoreфайл в корневой каталог проекта и добавьте в этот файл следующие записи:Poetry
.databricks distSetuptools
.databricks build dist src/my_package/my_package.egg-info
Добавление файлов сборки
В корневом каталоге пакета создайте следующие папки и файлы в зависимости от того, используется ли поэзия или
setuptoolsдля создания файлов колес Python:Poetry
├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── pyproject.tomlSetuptools
├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── setup.pyДобавьте следующий код в
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 wheel.
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 wheel.
- Замените
Добавление конфигурации пакета артефактов
artifactsДобавьте конфигурацию сопоставления вdatabricks.ymlдля создания артефактаwhl:Poetry
Эта конфигурация выполняет команду
poetry buildи указывает, что путь к файлуpyproject.tomlнаходится в том же каталоге, что и файлdatabricks.yml.Note
Если вы уже создали wheel-файл 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>Setuptools
Эта конфигурация выполняет команду
setuptoolsи указывает, что путь к файлуsetup.pyнаходится в том же каталоге, что и файлdatabricks.yml.bundle: name: my-wheel-bundle artifacts: default: type: whl build: python3 setup.py bdist wheel 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>