如何通过Terraform创建Azure Databricks Python Wheel类型任务
问题
我正在用Terraform在Azure中部署Databricks任务,需要执行Python Wheel包。目前已经掌握Notebook类型任务的创建方法,但官方文档示例里只有notebook_task、spark_jar_task、pipeline_task类型,没有Python Wheel的示例。不过Databricks工作区里确实有Python Wheel类型的任务选项,且确认Terraform Databricks Provider已支持该类型,只是不清楚如何在代码中配置。
之前的Notebook任务代码如下:
resource "databricks_notebook" "this" { path = "/Users/myusername/${var.notebook_subdirectory}/${var.notebook_filename}" language = var.notebook_language source = "./${var.notebook_filename}" } resource "databricks_job" "sample-tf-job" { name = var.job_name existing_cluster_id = "0342-285291-x0vbdshv" ## databricks_cluster.this.cluster_id notebook_task { notebook_path = databricks_notebook.this.path } }
解决方案
要创建Python Wheel类型的Databricks任务,只需将notebook_task块替换为python_wheel_task块,并配置对应的参数即可,同时可以删除不需要的databricks_notebook资源(如果不再依赖Notebook)。
修改后的代码示例:
resource "databricks_job" "sample-tf-job" { name = var.job_name existing_cluster_id = "0342-285291-x0vbdshv" ## 替换为你的集群ID python_wheel_task { package_name = "your-wheel-package-name" # 你的Python Wheel包名 entry_point = "main" # Wheel包中指定的入口函数/模块 # 可选:位置参数列表 parameters = ["arg1", "arg2"] # 可选:命名参数键值对 named_parameters = { env = "production" threshold = "0.8" } } }
参数说明
package_name:Python Wheel包的名称(需已上传至Databricks集群可访问的位置,比如DBFS或集群配置的PyPI源)entry_point:Wheel包中定义的入口点(对应setup.py中entry_points配置的执行入口)parameters:传递给入口点的位置参数列表named_parameters:传递给入口点的命名参数键值对
内容的提问来源于stack exchange,提问作者E. Erfan
相关产品推荐
相关产品推荐

