如何在 DatabricksStep 中使用 PipelineParameter (Python)
How to use PipelineParameter in DatabricksStep (Python)
我创建了一个带有单个 DatabricksStep 的 AML 管道。当我 运行 已发布的管道时,我需要将一个参数传递给 Databricks notebook。
当我 运行 发布管道时,Databricks 步骤始终采用 PipelineParameter 的默认值,无论我在提交管道时选择什么值。
这里是代码:
start_date_param = PipelineParameter(name="StartDate", default_value='2022-01-19')
# Define data ingestion step
data_loading_step = DatabricksStep(
name="Data Loading",
existing_cluster_id=db_cluster_id,
notebook_path=data_loading_path,
run_name="Loading raw data",
notebook_params={
'StartDate': start_date_param,
},
compute_target=dbricks_compute,
instance_pool_id=instance_pool_id,
num_workers=num_workers,
allow_reuse=False
)
这是 Databricks 笔记本:
dbutils.widgets.text("StartDate", "", "StartDate(YYYY-MM-DD)")
StartDate 的默认值为 2022-01-19.Even 尽管我将 StartDate 参数设置为“2021-01-19”,但 Databricks notebook 仍将 2022-01-19 作为 StartDate。
我做错了什么?
感谢您的帮助,
G
我找到了问题的解决方案。我希望它能对某人有所帮助。
如果您将所有参数名称和小部件名称设置为小写,它会起作用。
start_date_param = PipelineParameter(name="start_date", default_value='2022-01-19')
# Define data ingestion step
data_loading_step = DatabricksStep(
name="Data Loading",
existing_cluster_id=db_cluster_id,
notebook_path=data_loading_path,
run_name="Loading raw data",
notebook_params={
'start_date': start_date_param,
},
compute_target=dbricks_compute,
instance_pool_id=instance_pool_id,
num_workers=num_workers,
allow_reuse=False
)
dbutils.widgets.text("start_date", "", "start_date(YYYY-MM-DD)")
我创建了一个带有单个 DatabricksStep 的 AML 管道。当我 运行 已发布的管道时,我需要将一个参数传递给 Databricks notebook。
当我 运行 发布管道时,Databricks 步骤始终采用 PipelineParameter 的默认值,无论我在提交管道时选择什么值。
这里是代码:
start_date_param = PipelineParameter(name="StartDate", default_value='2022-01-19')
# Define data ingestion step
data_loading_step = DatabricksStep(
name="Data Loading",
existing_cluster_id=db_cluster_id,
notebook_path=data_loading_path,
run_name="Loading raw data",
notebook_params={
'StartDate': start_date_param,
},
compute_target=dbricks_compute,
instance_pool_id=instance_pool_id,
num_workers=num_workers,
allow_reuse=False
)
这是 Databricks 笔记本:
dbutils.widgets.text("StartDate", "", "StartDate(YYYY-MM-DD)")
StartDate 的默认值为 2022-01-19.Even 尽管我将 StartDate 参数设置为“2021-01-19”,但 Databricks notebook 仍将 2022-01-19 作为 StartDate。
我做错了什么?
感谢您的帮助,
G
我找到了问题的解决方案。我希望它能对某人有所帮助。 如果您将所有参数名称和小部件名称设置为小写,它会起作用。
start_date_param = PipelineParameter(name="start_date", default_value='2022-01-19')
# Define data ingestion step
data_loading_step = DatabricksStep(
name="Data Loading",
existing_cluster_id=db_cluster_id,
notebook_path=data_loading_path,
run_name="Loading raw data",
notebook_params={
'start_date': start_date_param,
},
compute_target=dbricks_compute,
instance_pool_id=instance_pool_id,
num_workers=num_workers,
allow_reuse=False
)
dbutils.widgets.text("start_date", "", "start_date(YYYY-MM-DD)")