Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Python wheel 文件是打包和分发运行 Python 应用程序所需文件的标准方式。 使用 Python wheel 任务,可以确保在 Azure Databricks 作业中快速可靠地安装 Python 代码。 本文提供了一个示例,用于演示如何创建 Python wheel 文件以及如何创建运行 Python wheel 文件中打包的应用程序的作业。 在此示例中,你将:
- 创建用于定义示例应用程序的 Python 文件。
- 将示例文件捆绑到 Python wheel 文件中。
- 创建一个作业来运行 Python wheel 文件。
- 运行作业并查看结果。
开始之前
若要完成此示例,需要准备好以下各项:
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:为包创建元数据文件
以下文件包含描述包的元数据。 将此文件保存到在步骤 1 中创建的目录中名为 my_test_code/__init__.py
的路径。
__version__ = "0.0.1"
__author__ = "Databricks"
步骤 4:创建 Python wheel 文件
将 Python 项目转换为 Python wheel 文件需要指定包元数据,例如包名称和入口点。 以下脚本定义此元数据。
注意
此脚本中定义的 entry_points
用于在 Azure Databricks 工作流中运行包。 在 entry_points
的每个值中,=
前面的值(在本示例中为 run
)是入口点的名称,它用于配置 Python wheel 任务。
将此脚本保存到在步骤 1 创建的目录的根目录中名为
setup.py
的文件中: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 wheel 分发中:
python3 setup.py bdist_wheel
此命令会创建 Python wheel 文件并将其保存到你的目录中的 dist/my_test_package-0.0.1-py3.none-any.whl
文件中。
步骤 5。 创建 Azure Databricks 作业以运行 Python wheel 文件
转到 Azure Databricks 登陆页面并执行以下操作之一:
- 在边栏中,单击
“工作流”,然后单击
。
- 在边栏中,单击
“新建”,然后从菜单中选择“作业”。
- 在边栏中,单击
在“任务”选项卡上显示的任务对话框中,将“为作业添加名称...”替换为你的作业名称,例如 。
在“任务名称”中输入任务的名称,例如 。
在类型中选择Python Wheel。
在“包名称”中输入 。 “包名称”值是要导入的 Python 包的名称。 在此示例中,包名称是分配给
name
中的setup.py
参数的值。在“入口点”中输入
run
。 入口点是在entry_points
脚本的setup.py
集合中指定的值之一。 在此示例中,run
是定义的唯一一个入口点。在“计算”中,选择一个现有作业群集或添加新作业群集。
单击依赖库下的“添加”按钮。 在 “添加依赖库”对话框中,选择“工作区”后,将步骤 4 中创建的
my_test_package-0.0.1-py3-none-any.whl
文件拖到对话框的“在此处放置文件”区域。单击“添加” 。
在“参数”中,选择“位置参数”或“关键字参数”以输入每个参数的键和值。 位置参数和关键字参数都将作为命令行参数传递给 Python wheel 任务。
- 若要输入位置参数,请以 JSON 格式的字符串数组形式输入参数,例如:
["first argument","first value","second argument","second value"]
。 - 若要输入关键字参数,请单击“+ 添加”并输入键和值。 再次单击“+ 添加”以输入更多参数。
- 若要输入位置参数,请以 JSON 格式的字符串数组形式输入参数,例如:
单击“创建任务”。
步骤 6:运行作业并查看作业运行详细信息
单击 以运行工作流。 若要查看运行详细信息,请在“已触发的运行”弹出窗口中单击“查看运行”,或者在作业运行视图中单击运行“开始时间”列中的链接。
运行完成后,输出会显示在“输出”面板中,其中包括传递给任务的参数。
后续步骤
若要详细了解如何创建和运行 Azure Databricks 作业,请参阅使用 Databricks 作业进行协调。