Поделиться через


Разработка файла колес Python с помощью пакетов ресурсов Databricks

В этой статье описывается, как создать, развернуть и запустить wheel-файл Python в рамках проекта Databricks Asset Bundle. См. Что такое пакеты ресурсов Databricks?.

Пример конфигурации, которая создает JAR-файл и отправляет его в каталог Unity, см. в пакете, который отправляет JAR-файл в каталог Unity.

Требования

Решение. Создание пакета вручную или с помощью шаблона

Определите, нужно ли создать начальный пакет с помощью шаблона или создать пакет вручную. Создание пакета с помощью шаблона проще и быстрее, но пакет может создавать содержимое, которое не требуется, и параметры по умолчанию пакета должны быть дополнительно настроены для реальных приложений. Создание пакета вручную обеспечивает полный контроль над параметрами пакета, но вы должны быть знакомы с тем, как работают пакеты, так как вы выполняете всю работу с самого начала. Выберите один из следующих наборов шагов:

Создание пакета с помощью шаблона

В этих шагах вы создадите пакет с помощью шаблона пакета Azure Databricks по умолчанию для Python. В этом руководстве описано, как создать пакет, состоящий из файлов для сборки в файл колесика Python, и определение задания Azure Databricks для создания этого файла колеса Python. Затем вы проверяете, развертываете и пакуете развернутые файлы в wheel-файл Python с помощью задания wheel в рабочей области Azure Databricks.

Шаблон пакета azure Databricks по умолчанию для Python использует средства установки для создания файла колес Python. Если вы хотите использовать Poetry для создания файла wheel для Python вместо этого, следуйте инструкциям далее в этом разделе, чтобы заменить setuptools реализацию на реализацию с использованием Poetry.

Шаг 1. Настройка аутентификации

На этом шаге вы настроили проверку подлинности между интерфейсом командной строки Databricks на компьютере разработки и рабочей областью Azure Databricks. В этой статье предполагается, что вы хотите использовать аутентификацию OAuth пользователь-к-машине (U2M) и соответствующий профиль конфигурации Azure Databricks с именем DEFAULT для аутентификации.

Примечание.

Проверка подлинности U2M подходит для выполнения этих действий в режиме реального времени. Для полностью автоматизированных рабочих процессов Databricks рекомендует использовать авторизацию OAuth машина-к-машине (M2M). Инструкции по настройке проверки подлинности M2M см. в разделе "Проверка подлинности".

  1. Используйте CLI Databricks для управления токенами OAuth на локальном уровне, выполняя следующую команду для каждого указанного рабочего пространства.

    В следующей команде замените <workspace-url> на URL-адрес рабочего пространства Azure Databricks, например https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Интерфейс командной строки Databricks предлагает сохранить сведения, введенные в качестве профиля конфигурации Azure Databricks. Нажмите, Enter чтобы принять предлагаемое имя профиля, или введите имя нового или существующего профиля. Любой существующий профиль с тем же именем перезаписывается с введенными сведениями. Профили можно использовать для быстрого переключения контекста проверки подлинности в нескольких рабочих областях.

    Чтобы получить список существующих профилей, в отдельном терминале или командной строке используйте интерфейс командной строки Databricks для выполнения команды databricks auth profiles. Чтобы просмотреть существующие параметры конкретного профиля, выполните команду databricks auth env --profile <profile-name>.

  3. В веб-браузере выполните инструкции на экране, чтобы войти в рабочую область Azure Databricks.

  4. Чтобы просмотреть текущее значение маркера OAuth профиля и метку времени окончания срока действия маркера, выполните одну из следующих команд:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Если у вас есть несколько профилей с одинаковым значением --host, возможно, вам потребуется указать параметры --host и -p вместе, чтобы помочь Databricks CLI найти правильные сведения о токене OAuth.

Шаг 2. Создание пакета

Пакет содержит артефакты, которые требуется развернуть, и параметры рабочих процессов, которые требуется запустить.

  1. Используйте терминал или командную строку, чтобы переключиться в каталог на локальном компьютере разработки, который будет содержать созданный пакет шаблона.

  2. Используйте версию Databricks CLI, чтобы выполнить команду bundle init.

    databricks bundle init
    
  3. Для Template to use оставьте значение default-python по умолчанию, нажав Enter.

  4. Для Unique name for this project оставьте значение my_project по умолчанию или введите другое значение, а затем нажмите Enter. Это определяет имя корневого каталога для этого пакета. Этот корневой каталог создается в текущем рабочем каталоге.

  5. Для Include a stub (sample) notebook, выберите no и нажмите Enter. Это указывает интерфейсу командной строки Databricks не добавлять пример записной книжки в ваш пакет.

  6. Для Include a stub (sample) DLT pipeline, выберите no и нажмите Enter. Эта команда инструктирует интерфейс командной строки Databricks не определять образец конвейера DLT в вашем пакете.

  7. Для Include a stub (sample) Python package этого оставьте значение yes по умолчанию, нажав кнопку Enter. Это инструктирует Databricks CLI добавить в вашу сборку примерные файлы Python wheel пакета и соответствующие инструкции по сборке.

Шаг 3. Изучение пакета

Чтобы просмотреть файлы, созданные шаблоном, переключитесь в корневой каталог созданного пакета и откройте этот каталог с помощью предпочтительной интегрированной среды разработки, например Visual Studio Code. К файлам, интересующим особый интерес, относятся следующие:

  • databricks.yml: этот файл указывает программируемое имя пакета, содержит ссылку на определение задания Python wheel, и задает настройки целевой рабочей области.
  • resources/<project-name>_job.yml: Этот файл определяет параметры задачи пакета Python.
  • src/<project-name>: В этом каталоге содержатся файлы, которые использует задание Python wheel для создания whl-файла 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.
  • Создайте записную книжку в фоновом режиме, содержащую инструкции по установке предыдущего установленного whl-файла Python в целевом кластере. Путь к этой записной книжке обычно — ${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>.
  • При выполнении задания, содержащего задачу Python wheel, и эта задача ссылается на предыдущий файл Python wheel, в фоновом режиме создается задание, которое выполняет предыдущую записную книжку.

Вам не нужно указывать это сопоставление для кластеров назначения, на которых установлена среда выполнения Databricks 13.1 или более поздней версии, поскольку установки Python wheel из файловой системы рабочей области Azure Databricks будут автоматически производиться на этих кластерах.

Шаг 4. Обновление пакета проекта для использования поэзии

По умолчанию шаблон пакета задает сборку файла колеса Python, используя setuptools вместе с файлами setup.py и requirements-dev.txt. Если вы хотите сохранить эти значения по умолчанию, перейдите к шагу 5. Проверьте файл конфигурации пакета проекта.

Чтобы обновить связку проекта для использования Poetry вместо 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".

Внесите следующие изменения в пакет проекта:

  1. Из корневого каталога пакета укажите poetry инициализировать сборки колес Python для поэзии, выполнив следующую команду:

    poetry init
    
  2. Поэзия отображает несколько подсказок для завершения. Для сборки колес Python ответьте на эти запросы следующим образом, чтобы соответствовать соответствующим параметрам по умолчанию в пакете проекта:

    1. Для Package nameпараметра введите имя дочерней папки в разделе /src, а затем нажмите клавишу Enter. Это также должно быть значение пакета name , определенное в файле пакета setup.py .
    2. Для Version введите 0.0.1 и нажмите Enter. Это соответствует номеру версии, определенному в файле пакета src/<project-name>/__init__.py .
    3. Для Description, введите wheel file based on <project-name>/src (заменив <project-name> имя проекта) и нажмите клавишу Enter. Это соответствует значению description , определенному в файле шаблона setup.py .
    4. Для Author нажмите Enter. Это значение по умолчанию соответствует автору, определенному в файле шаблона setup.py .
    5. Для License нажмите Enter. В шаблоне нет лицензии.
    6. Для Compatible Python versions введите версию Python, которая соответствует версии на целевых кластерах Azure Databricks (например, ^3.10), и нажмите Enter.
    7. Для ввода Would you like to define your main dependencies interactively? нажмите no и клавишу Enter. Позже вы определите зависимости.
    8. Для Would you like to define your development dependencies interactively? введите no и нажмите клавишу Enter. Позже вы определите зависимости.
    9. Нажмите Do you confirm generation?Enter.
  3. После того как вы завершите выполнение запросов, Poetry добавит файл pyproject.toml в проект связки. Сведения о файле pyproject.toml см. в разделе pyproject.toml.

  4. В корневом каталоге пакета укажите poetry для чтения pyproject.toml файла, разрешить и установить зависимости, создать файл poetry.lock для блокировки зависимостей и, наконец, создать виртуальную среду. Для этого выполните следующую команду:

    poetry install
    
  5. Добавьте следующий раздел в конце pyproject.toml файла, заменив <project-name> имя каталога, содержащего src/<project-name>/main.py файл (например, my_project):

    [tool.poetry.scripts]
    main = "<project-name>.main:main"
    

    В этом разделе указывается точка входа колеса Python для задания колеса Python.

  6. На верхнем уровне файла пакета databricks.yml добавьте следующее сопоставление:

    artifacts:
      default:
        type: whl
        build: poetry build
        path: .
    

    Это сопоставление указывает интерфейсу командной строки Databricks использовать поэзию для создания файла колес Python.

  7. setup.py Удалите и requirements-dev.txt файлы из пакета, так как поэзия не нуждается в них.

Шаг 5. Проверка файла конфигурации пакета проекта

На этом шаге проверяется, действительна ли конфигурация пакета.

  1. В корневом каталоге используйте интерфейс командной строки Databricks для выполнения bundle validate команды следующим образом:

    databricks bundle validate
    
  2. Если возвращается сводка конфигурации пакета, проверка выполнена успешно. Если возвращаются какие-либо ошибки, исправьте ошибки и повторите этот шаг.

При внесении изменений в пакет после этого шага необходимо повторить этот шаг, чтобы проверить, действительна ли конфигурация пакета.

Шаг 6. Создание файла колеса Python и развертывание локального проекта в удаленной рабочей области

На этом шаге вы создадите файл колеса Python, разверните созданный файл колеса Python в удаленной рабочей области Azure Databricks и создадите задание Azure Databricks в рабочей области.

  1. Если вы используете setuptools, установите wheel и setuptools пакеты, если это еще не сделано, выполнив следующую команду:

    pip3 install --upgrade wheel setuptools
    
  2. В терминале Visual Studio Code используйте интерфейс командной строки Databricks, чтобы выполнить bundle deploy команду следующим образом:

    databricks bundle deploy -t dev
    
  3. Если вы хотите проверить, был ли развернут локально созданный файл колеса Python:

    1. На боковой панели рабочей области Azure Databricks щелкните "Рабочая область".
    2. Щелкните в следующую папку: Рабочая область > Пользователи ><your-username>> .bundle ><project-name>> dev > артефакты > .internal><random-guid>.

    Файл колеса Python должен находиться в этой папке.

  4. Если вы хотите проверить, создано ли задание:

    1. На боковой панели рабочей области Azure Databricks щелкните "Рабочие процессы".
    2. На вкладке "Задания " щелкните [dev <your-username>] <project-name>_job.
    3. Перейдите на вкладку "Задачи ".

    Должна быть одна задача: main_task.

При внесении изменений в пакет после этого шага необходимо повторить шаги 5-6, чтобы проверить, действительна ли конфигурация пакета, а затем повторно разверните проект.

Шаг 7. Запуск развернутого проекта

На этом шаге вы запустите задание Azure Databricks в рабочей области.

  1. В корневом каталоге используйте интерфейс командной строки Databricks для выполнения bundle run команды, как показано ниже, заменив <project-name> имя проекта на шаге 2.

    databricks bundle run -t dev <project-name>_job
    
  2. Скопируйте значение, которое отображается в терминале и вставьте это значение Run URL в веб-браузер, чтобы открыть рабочую область Azure Databricks.

  3. В рабочей области Azure Databricks после успешного завершения задачи и появления зеленой строки заголовка щелкните задачу main_task, чтобы просмотреть результаты.

При внесении изменений в пакет после этого шага необходимо повторить шаги 5-7, чтобы проверить, действительна ли конфигурация пакета, повторно разверните проект и запустите повторно развернутый проект.

Вы достигли конца шагов по созданию пакета с помощью шаблона.

Создание пакета вручную

На этих этапах вы создадите пакет с самого начала вручную. В этом руководстве описано, как создать пакет, состоящий из файлов для сборки в файл колеса Python, и определение задания Databricks для создания этого файла колеса Python. Затем вы проверяете, развертываете и компилируете развернутые файлы в файл формата Python wheel из задания Python wheel в рабочей области Databricks.

Эти действия включают добавление содержимого в файл YAML. При необходимости может потребоваться использовать интегрированную среду разработки (IDE), которая предоставляет автоматические предложения схемы и действия при работе с файлами YAML. Следующие действия используют Visual Studio Code с расширением YAML , установленным из Visual Studio Code Marketplace.

В следующих шагах предполагается, что вы уже знаете:

Следуйте этим инструкциям, чтобы создать пример пакета, который собирает wheel-файл Python с помощью Poetry или setuptools, развернуть этот wheel-файл и затем запустить его.

Если вы уже создали wheel-файл Python и хотите просто развернуть и запустить его, перейдите сразу к указанию параметров wheel-файла Python в файле конфигурации пакета на шаге 3: Создайте файл конфигурации пакета.

Шаг 1. Настройка аутентификации

На этом шаге вы настроили проверку подлинности между интерфейсом командной строки Databricks на компьютере разработки и рабочей областью Azure Databricks. В этой статье предполагается, что вы хотите использовать аутентификацию OAuth пользователь-машина (U2M) и соответствующий профиль конфигурации Azure Databricks с именем DEFAULT для аутентификации.

Примечание.

Проверка подлинности U2M подходит для выполнения этих действий в режиме реального времени. Для полностью автоматизированных рабочих процессов Databricks рекомендует использовать аутентификацию OAuth между машинами (M2M). Инструкции по настройке проверки подлинности M2M см. в разделе "Проверка подлинности".

  1. Используйте интерфейс командной строки Databricks для локального запуска управления токенами OAuth, выполнив следующую команду для каждой целевой рабочей области.

    В следующей команде замените <workspace-url> на URL-адрес рабочей области Azure Databricks, например, на https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Интерфейс командной строки Databricks предлагает сохранить сведения, введенные в качестве профиля конфигурации Azure Databricks. Нажмите, Enter чтобы принять предлагаемое имя профиля, или введите имя нового или существующего профиля. Любой существующий профиль с тем же именем перезаписывается с введенными сведениями. Профили можно использовать для быстрого переключения контекста проверки подлинности в нескольких рабочих областях.

    Чтобы получить список существующих профилей, в отдельном терминале или командной строке используйте интерфейс командной строки Databricks для выполнения команды databricks auth profiles. Чтобы просмотреть существующие параметры конкретного профиля, выполните команду databricks auth env --profile <profile-name>.

  3. В веб-браузере выполните инструкции на экране, чтобы войти в рабочую область Azure Databricks.

  4. Чтобы просмотреть текущее значение маркера OAuth профиля и метку времени окончания срока действия маркера, выполните одну из следующих команд:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Если у вас есть несколько профилей с одинаковым значением --host, может потребоваться указать опции --host и -p вместе, чтобы Databricks CLI мог найти правильную информацию о соответствующем маркере OAuth.

Шаг 2. Создание пакета

Пакет содержит артефакты, которые требуется развернуть, и параметры рабочих процессов, которые требуется запустить.

  1. В корневом каталоге пакета создайте следующие папки и файлы в зависимости от того, используется ли поэзия или setuptools для создания файлов колес Python:

    Поэзия

    ├── src
    │     └── my_package
    │           ├── __init__.py
    │           ├── main.py
    │           └── my_module.py
    └── pyproject.toml
    

    Setuptools

    ├── src
    │     └── my_package
    │           ├── __init__.py
    │           ├── main.py
    │           └── my_module.py
    └── setup.py
    
  2. Оставьте файл пустым __init__.py .

  3. Добавьте следующий код в 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()
    
  4. Добавьте следующий код в 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
    
  5. Добавьте следующий код в 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> на описательное название для вашего файла с расширением .whl Python.

Шаг 3. Создание файла конфигурации пакета

Файл конфигурации пакета описывает артефакты, которые требуется развернуть, и рабочие процессы, которые требуется запустить.

  1. В корневом каталоге пакета добавьте файл конфигурации пакета с именем databricks.yml. Добавьте следующий код в этот файл:

    Поэзия

    Примечание.

    Если вы уже создали 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

    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 требуется для создания wheel-файлов Python с помощью Poetry и является необязательным для сборки wheel-файлов Python с setuptools. Сопоставление artifacts содержит одно или несколько определений артефактов со следующими сопоставлениями:

    • Сопоставление type должно присутствовать и быть установлено в whl, чтобы указать, что файл Python wheel должен быть создан. Для setuptools значение по умолчанию — это whl, если определения артефактов не указаны.
    • Сопоставление path указывает путь к файлу pyproject.toml для Poetry или к файлу setup.py для setuptools. Этот путь относительно databricks.yml файла. Для setuptools этот путь по умолчанию расположен в . (в том же каталоге, что и файл databricks.yml).
    • Сопоставление build указывает на любые пользовательские команды сборки, выполняемые для сборки файла колеса Python. Для setuptools эта команда используется по умолчанию python3 setup.py bdist wheel.
    • Сопоставление files состоит из одного или нескольких source сопоставлений, которые указывают дополнительные файлы для включения в сборку колеса Python. Значение по умолчанию отсутствует.

    Примечание.

    Если вы хотите установить файл wheel 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>.

    • При запуске процесса, содержащего задачу с wheel-файлом Python, и если эта задача ссылается на предыдущий wheel-файл Python, в фоновом режиме создаётся процесс, который выполняет предыдущую записную книжку.

    Вам не нужно указывать это сопоставление для целевых кластеров с установленной средой выполнения Databricks 13.1 или более поздней версии, так как пакеты wheel Python из файловой системы рабочей области Azure Databricks будут автоматически устанавливаться в этих целевых кластерах.

  2. Если вы используете поэзию, сделайте следующее:

    • Установите поэзию, версию 1.6 или более поздней, если она еще не установлена. Чтобы проверить установленную версию поэзии, выполните команду poetry -V или poetry --version.
    • Убедитесь, что установлен Python версии 3.10 или более поздней. Чтобы проверить версию Python, выполните команду python -V или python --version.
    • Убедитесь, что у вас есть Интерфейс командной строки Databricks версии 0.209.0 или более поздней. В вашей версии интерфейса командной строки Databricks выполните команду databricks -v или databricks --version. См. статью "Установка или обновление интерфейса командной строки Databricks".
  3. Если вы используете setuptools, установите wheel пакеты и setuptools пакеты, если они еще не установлены, выполнив следующую команду:

    pip3 install --upgrade wheel setuptools
    
  4. Если вы планируете сохранить этот пакет с поставщиком Git, добавьте .gitignore файл в корневой каталог проекта и добавьте в этот файл следующие записи:

    Поэзия

    .databricks
    dist
    

    Setuptools

    .databricks
    build
    dist
    src/my_package/my_package.egg-info
    

Шаг 4. Проверка файла конфигурации пакета проекта

На этом шаге проверяется, действительна ли конфигурация пакета.

  1. В корневом каталоге проверьте файл конфигурации пакета:

    databricks bundle validate
    
  2. Если возвращается сводка конфигурации пакета, проверка выполнена успешно. Если возвращаются какие-либо ошибки, исправьте ошибки и повторите этот шаг.

При внесении изменений в пакет после этого шага необходимо повторить этот шаг, чтобы проверить, действительна ли конфигурация пакета.

Шаг 5. Создание файла колеса Python и развертывание локального проекта в удаленной рабочей области

Создайте файл колесика Python локально, разверните созданный файл колеса Python в рабочей области, разверните записную книжку в рабочей области и создайте задание в рабочей области:

databricks bundle deploy -t dev

Шаг 6. Запуск развернутого проекта

  1. Запустите развернутую работу, которая использует развернутую записную книжку для вызова развернутого файла колеса Python:

    databricks bundle run -t dev wheel-job
    
  2. В выходных данных скопируйте Run URL и вставьте его в адресную строку веб-браузера.

  3. На странице Вывод выполнения задания отображаются следующие результаты:

    200 + 400 = 600
    400 - 200 = 200
    200 * 400 = 80000
    400 / 200 = 2.0
    

При внесении изменений в пакет после этого шага необходимо повторить шаги 3-5, чтобы проверить, действительна ли конфигурация пакета, повторно разверните проект и запустите повторно развернутый проект.

Создание и установка файла колеса Python для задания

Чтобы создать файл колеса Python с помощью Poetry или setuptools, а затем использовать этот файл колеса Python в задаче, необходимо добавить в файл databricks.yml одно или два сопоставления.

Если вы используете Poetry, необходимо включить следующее сопоставление artifacts в файл databricks.yml. Это сопоставление выполняет poetry build команду и использует pyproject.toml файл, который находится в том же каталоге, что databricks.yml и файл:

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

Примечание.

Сопоставление artifacts является необязательным для setuptools. По умолчанию для интерфейса командной строки Databricks выполняется команда python3 setup.py bdist_wheel и используется файл setup.py, который находится в том же каталоге, что и файл databricks.yml. Интерфейс командной строки Databricks предполагает, что вы уже выполнили команду, например pip3 install --upgrade wheel setuptools установить wheel и setuptools пакеты, если они еще не установлены.

Кроме того, сопоставление задачи задания libraries должно содержать whl значение, указывающее путь к созданному wheel-файлу 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 в конвейере DLT, необходимо добавить сопоставление в файл databricks.yml, если используется поэзия, и необходимо добавить команду %pip install в записную книжку конвейера, как показано ниже.

Если вы используете Poetry, вы должны включить следующее сопоставление artifacts в файл databricks.yml. Это сопоставление выполняет команду poetry build и использует файл pyproject.toml, который находится в том же каталоге, что и файл databricks.yml.

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

Примечание.

Сопоставление artifacts является необязательным для setuptools. По умолчанию интерфейс командной строки Databricks выполняет команду python3 setup.py bdist_wheel и использует файл setup.py, который находится в том же каталоге, что и файл databricks.yml. Интерфейс командной строки Databricks предполагает, что вы уже выполнили команду, например pip3 install --upgrade wheel setuptools установить wheel и setuptools пакеты, если они еще не установлены.

Кроме того, связанная записная книжка конвейера должна содержать команду %pip install для установки созданного wheel-файла Python. См. библиотеки Python.