我发现这在文档中很难找到,但发现这个链接我能够成功运行批处理执行而不上传 blob。https://docs.microsoft.com/en-us/azure/machine-learning/studio/web-services-that-use-import-export-modules
关键部分是:
为导入查询和目标表配置 Web 服务参数:
在导入数据模块的属性窗格中,单击数据库查询字段右上角的图标,然后选择设置为 Web 服务参数。在导出数据模块的属性窗格中,单击数据表名称字段右上角的图标,然后选择设置为 Web 服务参数。在导出数据模块属性窗格底部的 Web 服务参数部分,单击数据库查询并将其重命名为查询。单击数据表名称并将其重命名为表。
var request = new BatchExecutionRequest()
{
GlobalParameters = new Dictionary<string, string>() {
{ "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" },
{ "Table", "dbo.ScoredTable2" },
}
};
将数据库作为加载数据模块源后,您无需在训练模块上输入 Web 服务。您还可以将数据库查询设置为 Web 参数。运行批处理执行作业以重新训练模型后,您可以将它们存储在 Azure blob 存储中,并让您的预测模型在运行时使用“加载训练模型”模块而不是训练模型模块从那里加载它们。有关该过程,请参阅此链接:
https://blogs.technet.microsoft.com/machinelearning/2017/06/19/loading-a-trained-model-dynamically-in-an-azure-ml-web-service/
简而言之:
使用您的 SQL 数据库作为导入数据模块的源
运行批处理执行过程,以您想要的任何时间间隔重新训练模型
将重新训练的模型(ilearner 文件)保存到 blob 存储或可访问的 http 地址
在您的预测实验中使用负载训练模型模块,而不是训练模型。
将您的 blob 或 url 的路径放在负载训练模型模块的参数中。
使用动态加载的模型运行、发布和测试预测实验
请注意,如果您的实验中有多个模型,则可以使用此方法。