作为Azure Machine Learning进程的一部分,我需要continually
使用Data Management Gateway
将数据从本地SQL Db迁移到Azure SQL Db。
这篇Azure官方文章介绍了如何:Move data from an on-premises SQL server to SQL Azure with Azure Data Factory。但细节对我来说有点混乱。如果有人简要介绍过程,你会怎么做?需要在main
上执行2-3个on-premises
步骤,在Azure Cloud
上执行2-3个步骤?不需要任何细节。 注意:解决方案必须涉及使用Data Management Gateway
答案 0 :(得分:1)
基于Azure文档,您可以使用" slices"。你可以执行一个" delta"使用this文章或使用顺序整数列提到的timestamp列进行提取。为避免由于内部部署服务器的系统日期略晚于Azure系统日期而未包含在切片上的行的问题,最好使用顺序整数。 Input数据集下方显示了如何定义切片:
{
"name": "AzureBlobInput",
"properties": {
"type": "AzureBlob",
"linkedServiceName": "StorageLinkedService",
"typeProperties": {
"folderPath": "mycontainer/myfolder/{Year}/{Month}/{Day}/",
"partitionedBy": [
{ "name": "Year", "value": {"type": "DateTime","date": "SliceStart","format": "yyyy"}},
{ "name": "Month","value": {"type": "DateTime","date": "SliceStart","format": "MM"}},
{ "name": "Day","value": {"type": "DateTime","date": "SliceStart","format": "dd"}}
],
"format": {
"type": "TextFormat"
}
},
"external": true,
"availability": {
"frequency": "Hour",
"interval": 1
}
}
}
您可以创建活动并使用“可用性”部分指定活动的计划。您可以指定"频率" (分钟,小时,日等)和"间隔"。
"scheduler": {
"frequency": "Hour",
"interval": 1
}
活动运行消耗或生成的每个数据单元称为数据切片。下图显示了具有一个输入数据集和一个输出数据集的活动示例:
该图显示了输入和输出数据集的每小时数据切片。该图显示了三个准备好处理的输入切片。 10-11 AM活动正在进行中,产生10-11 AM输出切片。
您可以使用变量访问数据集JSON中与当前切片关联的时间间隔:SliceStart和SliceEnd。您可以在活动JSON中使用这些变量来从表示时间序列数据的输入数据集中选择数据(例如:上午8点到上午9点)。
您还可以设置过去管道的开始日期,如here所示。执行此操作时,Data Factory会自动计算(回填)过去的所有数据切片并开始处理它们。