在Azure数据工厂中,我尝试通过数据工厂管道调用Azure机器学习模型。我想使用Azure SQL表作为输入,并使用另一个Azure SQL表作为输出。 首先,我部署了一个机器学习(经典)Web服务。然后,我创建了一个Azure数据工厂管道,使用LinkedService(type ='AzureML',使用ML-webservice的Request URI和API密钥)和输入和输出数据集('AzureSqlTable'类型)。
部署和配置成功。管道按计划启动,但保持“正在运行”而没有任何结果。管道活动未显示在“监视和管理:活动Windows”中。
在不同的网站和教程中,我只使用BLOB输入和输出的活动类型'AzureMLBatchExecution'找到JSON脚本。我想使用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"
}
}
答案 0 :(得分:0)
在微软技术人员的帮助下,我有了这个工作。上面提到的JSON脚本只在schedule-section中更改:
"start": "2017-04-01T08:45:00Z",
"end": "2017-04-09T18:00:00Z",
管道仅在其开始时间和结束时间之间有效。由于调度程序设置为每周,因此在一周开始时触发管道:该日期应在开始日期和结束日期之内。有关计划的更多详细信息,请参阅:https://docs.microsoft.com/en-us/azure/data-factory/data-factory-scheduling-and-execution
Azure SQL Input数据集应如下所示:
{
"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
}
}
}
我将外部和策略属性添加到此数据集(请参阅上面的脚本),之后,它可以正常工作。