数据工厂:管道活动类型 AzureMLBatchExecution 的 AzureSQL 输入和输出



在 Azure 数据工厂中,我尝试通过数据工厂管道调用 Azure 机器学习模型。我想使用一个 Azure SQL 表作为输入,使用另一个 Azure SQL 表作为输出。 首先,我部署了一个机器学习(经典)Web 服务。然后,我使用 LinkedService(type= 'AzureML',使用 ML-webservice 的请求 URI 和 API 密钥)和输入和输出数据集("AzureSqlTable"类型)创建了一个 Azure 数据工厂管道。

部署和预配成功。管道按计划启动,但保持"正在运行"而没有任何结果。管道活动未显示在"监视和管理:"活动窗口中。

在不同的站点和教程中,我只找到使用活动类型"AzureMLBatchExecution"的 JSON 脚本,其中包含 BLOB 输入和输出。我想使用 AzureSQL 输入和输出,但我无法让它工作。

有人可以提供示例 JSON 脚本或告诉我下面的代码可能有什么问题吗?

谢谢!

{
"name": "Predictive_ML_Pipeline",
"properties": {
"description": "use MyAzureML model",
"activities": [
{
"type": "AzureMLBatchExecution",
"typeProperties": {},
"inputs": [
{
"name": "AzureSQLDataset_ML_Input"
}
],
"outputs": [
{
"name": "AzureSQLDataset_ML_Output"
}
],
"policy": {
"timeout": "02:00:00",
"concurrency": 3,
"executionPriorityOrder": "NewestFirst",
"retry": 1
},
"scheduler": {
"frequency": "Week",
"interval": 1
},
"name": "My_ML_Activity",
"description": "prediction analysis on ML batch input",
"linkedServiceName": "AzureMLLinkedService"
}
],
"start": "2017-04-04T09:00:00Z",
"end": "2017-04-04T18:00:00Z",
"isPaused": false,
"hubName": "myml_hub",
"pipelineMode": "Scheduled"
}
}

在Microsoft技术人员的帮助下,我已经完成了这项工作。如上所述的 JSON 脚本仅在计划部分进行了更改:

"start": "2017-04-01T08:45:00Z",
"end": "2017-04-09T18:00:00Z",

管道仅在其开始时间和结束时间之间处于活动状态。由于计划程序设置为每周,因此管道在一周开始时触发:该日期应在开始日期和结束日期内。有关计划编制的更多详细信息,请参阅:https://learn.microsoft.com/en-us/azure/data-factory/data-factory-scheduling-and-execution

Azure SQL 输入数据集应如下所示:

{
"name": "AzureSQLDataset_ML_Input",
"properties": {
"published": false,
"type": "AzureSqlTable",
"linkedServiceName": "SRC_SQL_Azure",
"typeProperties": {
"tableName": "dbo.Azure_ML_Input"
},
"availability": {
"frequency": "Week",
"interval": 1
},
"external": true,
"policy": {
"externalData": {
"retryInterval": "00:01:00",
"retryTimeout": "00:10:00",
"maximumRetry": 3
}
}
}

我将外部和策略属性添加到此数据集(请参阅上面的脚本),之后,它起作用了。

最新更新