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


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

В этой статье описывается, как создать, развернуть и запустить файл колесика Python в рамках проекта пакета ресурсов 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 см. в разделе "Проверка подлинности".

  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 одинаковым значением, может потребоваться указать и -p параметры --host вместе, чтобы помочь Databricks CLI найти правильные соответствующие сведения о маркере OAuth.

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

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

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

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

    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 не определяет пример конвейера Delta Live Tables в пакете.

  7. Для 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".

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

  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. После выполнения запросов поэзия добавляет 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.dev> ><project-name>> артефакты > .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 из задания колеса Python в рабочей области Databricks.

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

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

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

Если вы уже создали файл колесика Python и просто хотите развернуть и запустить его, перейдите вперед, чтобы указать параметры колес 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 одинаковым значением, может потребоваться указать и -p параметры --host вместе, чтобы помочь Databricks CLI найти правильные соответствующие сведения о маркере OAuth.

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

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

  1. В корневом каталоге пакета создайте следующие папки и файлы в зависимости от того, используется ли поэзия или 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
    
  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> отображаемым описанием файла колеса Python.

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

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

  1. В корневом каталоге пакета добавьте файл конфигурации пакета с именем 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 будут автоматически устанавливаться в этих целевых кластерах.

  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 файл в корневой каталог проекта и добавьте в этот файл следующие записи:

    Poetry

    .databricks
    dist
    

    Средства установки

    .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 с помощью поэзии или 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.