Использование файла колеса 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.
Сохраните этот скрипт в файле с именем
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' ] )
Перейдите в каталог, созданный на шаге 1, и выполните следующую команду, чтобы упаковать код в дистрибутив колес Python:
python3 setup.py bdist_wheel
Эта команда создает файл колесика Python и сохраняет его в dist/my_test_package-0.0.1-py3.none-any.whl
файле в каталоге.
Шаг 5. Создание задания Azure Databricks для запуска файла колесика Python
Перейдите на целевую страницу Azure Databricks и выполните одно из следующих действий:
- На боковой панели щелкните "Рабочие процессы" и щелкните .
- На боковой панели нажмите кнопку "Создать " и выберите "Задание " в меню.
В диалоговом окне задачи, которое отображается на вкладке "Задачи ", замените имя задания... именем задания, например
Python wheel example
.В поле "Имя задачи" введите имя задачи, например
python_wheel_task
.В поле " Тип" выберите "Колесо Python".
Введите
my_test_package
имя пакета. Значение имени пакета — это имя пакета Python для импорта. В этом примере имя пакета — это значение, назначенное параметруname
.setup.py
В точке входа введите
run
. Точка входа — это одно из значений, указанных вentry_points
коллекции в скриптеsetup.py
. В этом примереrun
определена единственная точка входа.В вычислении выберите существующий кластер заданий или добавьте новый кластер заданий.
Нажмите кнопку "Добавить" в разделе "Зависимые библиотеки". В диалоговом окне "Добавление зависимой библиотеки" с выбранной рабочей областью перетащите
my_test_package-0.0.1-py3-none-any.whl
файл, созданный на шаге 4, в область удаления диалогового окна.Нажмите кнопку Добавить.
В параметрах выберите позиционные аргументы или аргументы ключевых слов, чтобы ввести ключ и значение каждого параметра. Как позиционные, так и именованные аргументы передаются задаче Python Wheel в качестве аргументов командной строки.
- Чтобы ввести позиционные аргументы, введите параметры в виде массива строк в формате JSON, например:
["first argument","first value","second argument","second value"]
- Чтобы ввести аргументы ключевых слов, нажмите кнопку +Добавить и введите ключ и значение. Нажмите кнопку + Добавить еще раз, чтобы ввести дополнительные аргументы.
- Чтобы ввести позиционные аргументы, введите параметры в виде массива строк в формате JSON, например:
Нажмите Создать задачу.
Шаг 6. Запуск задания и просмотр сведений о выполнении задания
Щелкните , чтобы запустить рабочий процесс. Чтобы просмотреть сведения о выполнении, нажмите кнопку "Вид" во всплывающем окне запуска или щелкните ссылку в столбце " Время начала" для запуска в представлении выполнения задания.
По завершении выполнения выходные данные отображаются на панели вывода , включая аргументы, переданные задаче.
Дальнейшие действия
Дополнительные сведения о создании и запуске заданий Azure Databricks см. в статье "Планирование и оркестрация рабочих процессов".