从数据工厂管道中的 ML Studio 管道中获取结果
Posted
技术标签:
【中文标题】从数据工厂管道中的 ML Studio 管道中获取结果【英文标题】:Pick up Results From ML Studio Pipeline in Data Factory Pipeline 【发布时间】:2021-03-29 09:40:17 【问题描述】:我们目前有一个数据工厂管道,它能够成功调用我们的 ML Studio 管道之一。 ML Studio Pipeline 完成后,我们希望 Azure 数据工厂获取 ML Studio Pipeline 的结果并将结果存储在 SQL Server 中。
我们发现 PipelineData 类根据子运行 id 将结果存储在 blob 中的文件夹中,这使得数据工厂难以获取结果。然后我们发现了 OutputFileDatasetConfig,它允许 ML Studio 将结果保存到数据工厂的静态位置。这对数据工厂非常有用,除了 OutputFileDatasetConfig 并不总是有效 :( 因为它是实验类。我们花了一段时间才弄清楚这一点,我们甚至为此创建了一个 *** 问题,我们解决了这个问题,可以在这里找到:@ 987654321@
我们返回使用 PipelineData 类,该类根据子运行 id 将结果存储在 blob 中的文件夹中,但我们无法弄清楚如何让数据工厂根据 ML 的子运行 id 找到 blob刚刚运行的 Studio Pipeline。
所以我的问题是,如何让数据工厂获取从数据工厂管道触发的 ML Studio 管道的结果???
这是我们正在尝试构建的数据工厂管道的简单视图。
Step 1: Store Data in azure file store -->
Step 2: Run ML Studio scoring Pipeline -->
Step 3: Copy Results to SQL Server
第 3 步是我们无法弄清楚的步骤。任何帮助将不胜感激。谢谢,编码愉快!
【问题讨论】:
【参考方案1】:我想我已经回答了我自己的问题。原来我的问题与几个月前提出的另一个问题相似,他们的最佳解决方案对我有用。
How to write Azure machine learning batch scoring results to data lake?
我可以按如下方式使用 DataTransferStep。
transfer_ml_to_blob = DataTransferStep(
name="transfer_ml_to_blob",
source_data_reference=output_dir,
destination_data_reference=blob_data_ref,
compute_target=data_factory_compute,
source_reference_type='directory',
destination_reference_type='directory'
)
其他一些有用的资源:
https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-data-transfer.ipynb
https://social.msdn.microsoft.com/Forums/en-US/026b9b1d-6961-4217-b179-0c1973ac1fa2/data-transfer-job-failed-with-unexpected-error-systeminvalidoperationexception-blob-contains-both?forum=AzureMachineLearningService#7b46c5eb-b7f1-4c2f-a6d0-553672a83e7a
Azure ML PipelineData with DataTransferStep results in 0 bytes file
【讨论】:
以上是关于从数据工厂管道中的 ML Studio 管道中获取结果的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Azure 数据工厂的 DataFlow 中获取管道的元数据?想要创建调试管道