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


Использование файла колеса Python в задании Azure Databricks

Файл колесика Python — это стандартный способ упаковки и распространения файлов, необходимых для запуска приложения Python. С помощью задачи "Колесо Python" можно обеспечить быструю и надежную установку кода Python в заданиях Azure Databricks. В этой статье приведен пример создания файла колес Python и задания, которое запускает приложение, упаковаемое в файл колесика Python. В этом примере вы будете:

  • Создайте файлы Python, определяющие пример приложения.
  • Упаковайте примеры файлов в файл колесика Python.
  • Создайте задание для запуска файла колеса Python.
  • Запустите задание и ознакомьтесь с результатами.

Перед началом работы

Для выполнения этого примера вам потребуется следующее:

  • Python3

  • Python wheel и setuptool пакеты. Эти пакеты можно использовать для pip установки. Например, для установки этих пакетов можно выполнить следующую команду:

    pip install wheel setuptools
    

Шаг 1. Создание локального каталога для примера

Создайте локальный каталог для хранения примера кода и созданных артефактов, например databricks_wheel_test.

Шаг 2. Создание примера скрипта Python

Следующий пример Python — это простой скрипт, который считывает входные аргументы и выводит эти аргументы. Скопируйте этот скрипт и сохраните его в пути, вызываемом my_test_code/__main__.py в каталоге, созданном на предыдущем шаге.

"""
The entry point of the Python Wheel
"""

import sys

def main():
  # This method will print the provided arguments
  print('Hello from my func')
  print('Got arguments:')
  print(sys.argv)

if __name__ == '__main__':
  main()

Шаг 3. Создание файла метаданных для пакета

Следующий файл содержит метаданные, описывающие пакет. Сохраните его в пути, вызываемом my_test_code/__init__.py в каталоге, созданном на шаге 1.

__version__ = "0.0.1"
__author__ = "Databricks"

Шаг 4. Создание файла колеса Python

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

Примечание.

Определенные entry_points в этом скрипте используются для запуска пакета в рабочем процессе Azure Databricks. В каждом значении в , значение entry_pointsдо = (в этом примере) runявляется именем точки входа и используется для настройки задачи колеса Python.

  1. Сохраните этот скрипт в файле с именем setup.py в корне каталога, созданного на шаге 1:

    from setuptools import setup, find_packages
    
    import my_test_code
    
    setup(
      name='my_test_package',
      version=my_test_code.__version__,
      author=my_test_code.__author__,
      url='https://databricks.com',
      author_email='john.doe@databricks.com',
      description='my test wheel',
      packages=find_packages(include=['my_test_code']),
      entry_points={
        'group_1': 'run=my_test_code.__main__:main'
      },
      install_requires=[
        'setuptools'
      ]
    )
    
  2. Перейдите в каталог, созданный на шаге 1, и выполните следующую команду, чтобы упаковать код в дистрибутив колес Python:

    python3 setup.py bdist_wheel
    

Эта команда создает файл колесика Python и сохраняет его в dist/my_test_package-0.0.1-py3.none-any.whl файле в каталоге.

Шаг 5. Создание задания Azure Databricks для запуска файла колесика Python

  1. Перейдите на целевую страницу Azure Databricks и выполните одно из следующих действий:
    • На боковой панели щелкните "Рабочие процессы" и щелкните .Кнопка Значок рабочих процессов
    • На боковой панели нажмите кнопку Значок "Создать " и выберите "Задание " в меню.
  2. В диалоговом окне задачи, которое отображается на вкладке "Задачи ", замените имя задания... именем задания, например Python wheel example.
  3. В поле "Имя задачи" введите имя задачи, например python_wheel_task.
  4. В поле " Тип" выберите "Колесо Python".
  5. Введите my_test_packageимя пакета. Имя пакета — это значение, назначенное name переменной в скрипте setup.py .
  6. В точке входа введите run. Точка входа — это одно из значений, указанных в entry_points коллекции в скрипте setup.py . В этом примере run определена единственная точка входа.
  7. В кластере выберите совместимый кластер. См . библиотеки с областью действия кластера.
  8. Нажмите кнопку "Добавить" в разделе "Зависимые библиотеки". В диалоговом окне "Добавление зависимой библиотеки" с выбранной рабочей областью перетащите my_test_package-0.0.1-py3-none-any.whl файл, созданный на шаге 4, в область удаления диалогового окна.
  9. Нажмите кнопку Добавить.
  10. В параметрах выберите позиционные аргументы или аргументы ключевых слов, чтобы ввести ключ и значение каждого параметра. Как позиционные, так и именованные аргументы передаются задаче Python Wheel в качестве аргументов командной строки.
    • Чтобы ввести позиционные аргументы, введите параметры в виде массива строк в формате JSON, например: ["first argument","first value","second argument","second value"]
    • Чтобы ввести аргументы ключевых слов, нажмите кнопку +Добавить и введите ключ и значение. Нажмите кнопку + Добавить еще раз, чтобы ввести дополнительные аргументы.
  11. Нажмите кнопку " Сохранить задачу".

Шаг 6. Запуск задания и просмотр сведений о выполнении задания

Щелкните Кнопка , чтобы запустить рабочий процесс. Чтобы просмотреть сведения о выполнении, нажмите кнопку "Вид" во всплывающем окне запуска или щелкните ссылку в столбце " Время начала" для запуска в представлении выполнения задания.

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

Дальнейшие действия

Дополнительные сведения о создании и запуске заданий Azure Databricks см. в статье "Создание и запуск заданий Azure Databricks".