DatabricksStep 类
创建 Azure ML 管道步骤,以将 DataBricks 笔记本、Python 脚本或 JAR 添加为节点。
有关使用 DatabricksStep 的示例,请参阅笔记本 https://aka.ms/pl-databricks。
创建 Azure ML 管道步骤,以将 DataBricks 笔记本、Python 脚本或 JAR 添加为节点。
有关使用 DatabricksStep 的示例,请参阅笔记本 https://aka.ms/pl-databricks。
:p aram python_script_name:[必需] 相对于 source_directory
Python 脚本的名称。
如果脚本采用输入和输出,则这些输入和输出将作为参数传递给脚本。
如果 python_script_name
已指定,则 source_directory
还必须指定。
指定确切的一个notebook_path
、python_script_path
或python_script_name
main_class_name
。
如果将 DataReference 对象指定为 具有 data_reference_name=input1 的输入,并将 PipelineData 对象指定为 name=output1 的输出,则将输入和输出作为参数传递给脚本。 这就是它们的外观,你需要分析脚本中的参数以访问每个输入和输出的路径:“-input1”、“wasbs:///test”,“-output1”、“wasbs://test@storagename.blob.core.windows.nettest@storagename.blob.core.windows.net/b3e26de1-87a4-494d-a20f-1988d22b81a2/output1”
此外,脚本中将提供以下参数:
- AZUREML_RUN_TOKEN:用于使用 Azure 机器学习进行身份验证的 AML 令牌。
- AZUREML_RUN_TOKEN_EXPIRY:AML 令牌到期时间。
- AZUREML_RUN_ID:此运行的 Azure 机器学习运行 ID。
- AZUREML_ARM_SUBSCRIPTION:AML 工作区的 Azure 订阅。
- AZUREML_ARM_RESOURCEGROUP:Azure 机器学习工作区的 Azure 资源组。
- AZUREML_ARM_WORKSPACE_NAME:Azure 机器学习工作区的名称。
- AZUREML_ARM_PROJECT_NAME:Azure 机器学习试验的名称。
- AZUREML_SERVICE_ENDPOINT:AML 服务的终结点 URL。
- AZUREML_WORKSPACE_ID:Azure 机器学习工作区的 ID。
- AZUREML_EXPERIMENT_ID:Azure 机器学习试验的 ID。
- AZUREML_SCRIPT_DIRECTORY_NAME:复制source_directory的 DBFS 中的目录路径。
(This parameter is only populated when `python_script_name` is used. See more details below.)
使用 DatabricksStep 参数source_directory
python_script_name
从 Databricks 上的本地计算机上执行 Python 脚本时,source_directory将复制到 DBFS,DBFS 上的目录路径在开始执行时作为参数传递给脚本。
此参数标记为 –AZUREML_SCRIPT_DIRECTORY_NAME。 需要使用字符串“dbfs://”或“/dbfs/”作为前缀才能访问 DBFS 中的目录。
构造函数
DatabricksStep(name, inputs=None, outputs=None, existing_cluster_id=None, spark_version=None, node_type=None, instance_pool_id=None, num_workers=None, min_workers=None, max_workers=None, spark_env_variables=None, spark_conf=None, init_scripts=None, cluster_log_dbfs_path=None, notebook_path=None, notebook_params=None, python_script_path=None, python_script_params=None, main_class_name=None, jar_params=None, python_script_name=None, source_directory=None, hash_paths=None, run_name=None, timeout_seconds=None, runconfig=None, maven_libraries=None, pypi_libraries=None, egg_libraries=None, jar_libraries=None, rcran_libraries=None, compute_target=None, allow_reuse=True, version=None, permit_cluster_restart=None)
参数
名称 | 说明 |
---|---|
name
必需
|
[必需]步骤的名称。 |
inputs
|
此步骤使用的数据的输入连接列表。 使用 dbutils.widgets.get(“input_name”)在笔记本中提取此信息。 可以是 DataReference 或 PipelineData。 DataReference 表示数据存储上的现有数据片段。 本质上,这是数据存储上的路径。 DatabricksStep 支持封装 DBFS、Azure blob 或 ADLS v1 的数据存储。 PipelineData 表示管道中另一步生成的中间数据。 默认值: None
|
outputs
|
此步骤生成的输出的输出端口定义列表。 使用 dbutils.widgets.get(“output_name”)在笔记本中提取此信息。 应为 PipelineData。 默认值: None
|
existing_cluster_id
|
Databricks 工作区上现有交互式群集的群集 ID。 如果要传递此参数,则无法传递用于创建新群集的以下任何参数:
注意:若要创建新的作业群集,需要传递上述参数。 可以直接传递这些参数,也可以使用 runconfig 参数将它们作为 RunConfiguration 对象的一部分传递。 直接传递这些参数并通过 RunConfiguration 会导致错误。 默认值: None
|
spark_version
|
Databricks 运行的群集的 spark 版本,例如:“10.4.x-scala2.12”。
有关详细信息,请参阅参数的说明 默认值: None
|
node_type
|
[必需]Databricks 运行的群集的 Azure VM 节点类型,例如:“Standard_D3_v2”。 指定 默认值: None
|
instance_pool_id
|
[必需]群集需要附加到的实例池 ID。
指定 默认值: None
|
num_workers
|
[必需]Databricks 运行群集的静态辅助角色数。
必须指定或 默认值: None
|
min_workers
|
[必需]用于自动缩放 Databricks 运行群集的辅助角色数最小。
必须指定或 默认值: None
|
max_workers
|
[必需]用于自动缩放 Databricks 运行群集的辅助角色数上限。
必须指定或 默认值: None
|
spark_env_variables
|
Databricks 运行的群集的 spark 环境变量。
有关详细信息,请参阅参数的说明 默认值: None
|
spark_conf
|
Databricks 运行的群集的 spark 配置。
有关详细信息,请参阅参数的说明 默认值: None
|
init_scripts
|
[str]
已弃用。 Databricks 宣布 DBFS 中存储的初始化脚本将在 2023 年 12 月 1 日后停止工作。 若要缓解此问题,请 1) 在 databricks 中使用全局初始化脚本,以下 https://learn.microsoft.com/azure/databricks/init-scripts/global 2) 注释掉了 AzureML databricks 步骤中的init_scripts行。 默认值: None
|
cluster_log_dbfs_path
|
要传送群集日志的 DBFS 路径。 默认值: None
|
notebook_path
|
[必需]Databricks 实例中笔记本的路径。 此类允许通过四种方式指定要在 Databricks 群集上执行的代码。
指定确切的一个 默认值: None
|
notebook_params
|
要传递给笔记本的参数字典。
默认值: None
|
python_script_path
|
[必需]DBFS 中 Python 脚本的路径。
指定确切的一个 默认值: None
|
python_script_params
|
Python 脚本的参数。 默认值: None
|
main_class_name
|
[必需]JAR 模块中入口点的名称。
指定确切的一个 默认值: None
|
jar_params
|
JAR 模块的参数。 默认值: None
|
python_script_name
|
[必需]相对于 指定确切的一个 如果将 DataReference 对象指定为 具有 data_reference_name=input1 的输入,并将 PipelineData 对象指定为 name=output1 的输出,则将输入和输出作为参数传递给脚本。 这就是它们的外观,你需要分析脚本中的参数以访问每个输入和输出的路径:“-input1”、“wasbs:///test”,“-output1”、“wasbs://test@storagename.blob.core.windows.nettest@storagename.blob.core.windows.net/b3e26de1-87a4-494d-a20f-1988d22b81a2/output1” 此外,脚本中将提供以下参数:
使用 DatabricksStep 参数 默认值: None
|
source_directory
|
包含脚本和其他文件的文件夹。
如果 默认值: None
|
hash_paths
|
[str]
已弃用:不再需要。 检查步骤内容更改时哈希的路径列表。 如果未检测到任何更改,管道将重复使用上一次运行中的步骤内容。 默认情况下,除 .amlignore 或 .gitignore 中列出的文件外,对内容 默认值: None
|
run_name
|
此运行在 Databricks 中的名称。 默认值: None
|
timeout_seconds
|
Databricks 运行的超时。 默认值: None
|
runconfig
|
要使用的 runconfig。 注意:可以使用以下参数将任意数量的库作为依赖项传递到作业: 默认值: None
|
maven_libraries
|
用于 Databricks 运行的 Maven 库。 默认值: None
|
pypi_libraries
|
用于 Databricks 运行的 PyPi 库。 默认值: None
|
egg_libraries
|
用于 Databricks 运行的 Egg 库。 默认值: None
|
jar_libraries
|
用于 Databricks 运行的 Jar 库。 默认值: None
|
rcran_libraries
|
用于 Databricks 运行的 RCran 库。 默认值: None
|
compute_target
|
[必需]Azure Databricks 计算。 在使用 DatabricksStep 在 Azure Databricks 工作区上执行脚本或笔记本之前,需要将 Azure Databricks 工作区添加为 Azure 机器学习工作区的计算目标。 默认值: None
|
allow_reuse
|
指示使用相同设置重新运行时,该步骤是否应重复使用以前的结果。 默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重复使用此步骤上一次运行的输出。 重用步骤时,将立即向任何后续步骤提供上一次运行的结果,而不是将作业提交到计算。 如果使用 Azure 机器学习数据集作为输入,则重复使用取决于数据集的定义是否已更改,而不是由基础数据是否已更改决定。 默认值: True
|
version
|
用于表示步骤功能更改的可选版本标记。 默认值: None
|
permit_cluster_restart
|
如果指定了existing_cluster_id,此参数将指示是否可以代表用户重启群集。 默认值: None
|
name
必需
|
[必需]步骤的名称。 |
inputs
必需
|
此步骤使用的数据的输入连接列表。 使用 dbutils.widgets.get(“input_name”)在笔记本中提取此信息。 可以是 DataReference 或 PipelineData。 DataReference 表示数据存储上的现有数据片段。 本质上,这是数据存储上的路径。 DatabricksStep 支持封装 DBFS、Azure blob 或 ADLS v1 的数据存储。 PipelineData 表示管道中另一步生成的中间数据。 |
outputs
必需
|
list[Union[OutputPortBinding, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>, PipelineData]]
此步骤生成的输出的输出端口定义列表。 使用 dbutils.widgets.get(“output_name”)在笔记本中提取此信息。 应为 PipelineData。 |
existing_cluster_id
必需
|
Databricks 工作区上现有交互式群集的群集 ID。 如果要传递此参数,则无法传递用于创建新群集的以下任何参数:
注意:若要创建新的作业群集,需要传递上述参数。 可以直接传递这些参数,也可以使用 runconfig 参数将它们作为 RunConfiguration 对象的一部分传递。 直接传递这些参数并通过 RunConfiguration 会导致错误。 |
spark_version
必需
|
Databricks 运行的群集的 spark 版本,例如:“10.4.x-scala2.12”。
有关详细信息,请参阅参数的说明 |
node_type
必需
|
[必需]Databricks 运行的群集的 Azure VM 节点类型,例如:“Standard_D3_v2”。 指定 |
instance_pool_id
必需
|
[必需]群集需要附加到的实例池 ID。
指定 |
num_workers
必需
|
[必需]Databricks 运行群集的静态辅助角色数。
必须指定或 有关详细信息,请参阅参数的说明 |
min_workers
必需
|
[必需]用于自动缩放 Databricks 运行群集的辅助角色数最小。
必须指定或 有关详细信息,请参阅参数的说明 |
max_workers
必需
|
[必需]用于自动缩放 Databricks 运行群集的辅助角色数上限。
必须指定或 有关详细信息,请参阅参数的说明 |
spark_env_variables
必需
|
Databricks 运行的群集的 spark 环境变量。
有关详细信息,请参阅参数的说明 |
spark_conf
必需
|
Databricks 运行的群集的 spark 配置。
有关详细信息,请参阅参数的说明 |
init_scripts
必需
|
[str]
已弃用。 Databricks 宣布 DBFS 中存储的初始化脚本将在 2023 年 12 月 1 日后停止工作。 若要缓解此问题,请 1) 在 databricks 中使用全局初始化脚本,以下 https://learn.microsoft.com/azure/databricks/init-scripts/global 2) 注释掉了 AzureML databricks 步骤中的init_scripts行。 |
cluster_log_dbfs_path
必需
|
要传送群集日志的 DBFS 路径。 |
notebook_path
必需
|
[必需]Databricks 实例中笔记本的路径。 此类允许通过四种方式指定要在 Databricks 群集上执行的代码。
指定确切的一个 |
notebook_params
必需
|
要传递给笔记本的参数字典。
|
python_script_path
必需
|
[必需]DBFS 中 Python 脚本的路径。
指定确切的一个 |
python_script_params
必需
|
Python 脚本的参数。 |
main_class_name
必需
|
[必需]JAR 模块中入口点的名称。
指定确切的一个 |
jar_params
必需
|
JAR 模块的参数。 |
source_directory
必需
|
包含脚本和其他文件的文件夹。
如果 |
hash_paths
必需
|
[str]
已弃用:不再需要。 检查步骤内容更改时哈希的路径列表。 如果未检测到任何更改,管道将重复使用上一次运行中的步骤内容。 默认情况下,除 .amlignore 或 .gitignore 中列出的文件外,对内容 |
run_name
必需
|
此运行在 Databricks 中的名称。 |
timeout_seconds
必需
|
Databricks 运行的超时。 |
runconfig
必需
|
要使用的 runconfig。 注意:可以使用以下参数将任意数量的库作为依赖项传递到作业: |
maven_libraries
必需
|
list[<xref:azureml.core.runconfig.MavenLibrary>]
用于 Databricks 运行的 Maven 库。
有关 Maven 库规范的详细信息,请参阅 |
pypi_libraries
必需
|
list[<xref:azureml.core.runconfig.PyPiLibrary>]
用于 Databricks 运行的 PyPi 库。
有关 PyPi 库规范的详细信息,请参阅 |
egg_libraries
必需
|
list[<xref:azureml.core.runconfig.EggLibrary>]
用于 Databricks 运行的 Egg 库。
有关 Egg 库规范的详细信息,请参阅 |
jar_libraries
必需
|
list[<xref:azureml.core.runconfig.JarLibrary>]
用于 Databricks 运行的 Jar 库。
有关 Jar 库规范的详细信息,请参阅 |
rcran_libraries
必需
|
list[<xref:azureml.core.runconfig.RCranLibrary>]
用于 Databricks 运行的 RCran 库。
有关 RCran 库规范的详细信息,请参阅 |
compute_target
必需
|
[必需]Azure Databricks 计算。 在使用 DatabricksStep 在 Azure Databricks 工作区上执行脚本或笔记本之前,需要将 Azure Databricks 工作区添加为 Azure 机器学习工作区的计算目标。 |
allow_reuse
必需
|
指示使用相同设置重新运行时,该步骤是否应重复使用以前的结果。 默认情况下启用重用。 如果步骤内容(脚本/依赖项)以及输入和参数保持不变,则重复使用此步骤上一次运行的输出。 重用步骤时,将立即向任何后续步骤提供上一次运行的结果,而不是将作业提交到计算。 如果使用 Azure 机器学习数据集作为输入,则重复使用取决于数据集的定义是否已更改,而不是由基础数据是否已更改决定。 |
version
必需
|
用于表示步骤功能更改的可选版本标记。 |
permit_cluster_restart
必需
|
如果指定了existing_cluster_id,此参数将指示是否可以代表用户重启群集。 |
方法
create_node |
从 Databricks 步骤创建一个节点,并将其添加到指定的图形。 此方法不用于直接使用。 使用此步骤实例化管道时,Azure ML 会自动传递通过此方法所需的参数,以便可以将该步骤添加到表示工作流的管道图中。 |
create_node
从 Databricks 步骤创建一个节点,并将其添加到指定的图形。
此方法不用于直接使用。 使用此步骤实例化管道时,Azure ML 会自动传递通过此方法所需的参数,以便可以将该步骤添加到表示工作流的管道图中。
create_node(graph, default_datastore, context)
参数
名称 | 说明 |
---|---|
graph
必需
|
要向其添加节点的图形对象。 |
default_datastore
必需
|
默认数据存储。 |
context
必需
|
<xref:azureml.pipeline.core._GraphContext>
图形上下文。 |
返回
类型 | 说明 |
---|---|
创建的节点。 |