Sau*_*jee 6 airflow databricks azure-databricks
我正在尝试从 Airflow 触发笔记本。笔记本具有定义为小部件的参数,我试图通过 notebook_params 参数将值传递给它,尽管它会触发,但当我查看提交的作业时,参数似乎没有传递。
例如代码
new_cluster = {'spark_version': '6.5.x-cpu-ml-scala2.11',
'node_type_id': 'Standard_DS3_v2',
'num_workers': 4
}
notebook_task = DatabricksSubmitRunOperator(task_id='notebook_task',
json={'new_cluster': new_cluster,
'notebook_task': {
'notebook_path': '/Users/abc@test.com/Demo',
'notebook_parameters':'{"fromdate":"20200420","todate":"20200420", "datalakename":"exampledatalake", "dbname": "default", "filesystem":"refined" , "tablename":"ntcsegmentprediction", "modeloutputpath":"curated"}'
},
})
Run Code Online (Sandbox Code Playgroud)
但是,DatabricksRunNowOperator 支持它,并且它可以工作
notebook_run = DatabricksRunNowOperator(task_id='notebook_task',
job_id=24,
notebook_params={"fromdate":"20200420","todate":"20200420", "datalakename":"exampledatalake", "dbname": "default", "filesystem":"refined" , "tablename":"ntcsegmentprediction", "modeloutputpath":"curated"}
)
Run Code Online (Sandbox Code Playgroud)
在 DatabricksSubmitRunOperator 的文档和源代码中
它说它可以接受一个notebook_task。如果可以,不知道为什么它不能接受参数
我缺少什么?
如果需要更多信息,我也可以提供。
小智 4
你应该使用base_parameters而不是notebook_params
https://docs.databricks.com/dev-tools/api/latest/jobs.html#jobsnotebooktask