我正在尝试了解迁移大量数据的最佳方法 - 从(Azure托管的)SQL Server到Blob存储的大约6M文本行。
在大多数情况下,这些记录是归档记录,很少被访问 - blob存储作为保存这些记录的地方。
我看过Azure数据工厂,它似乎是正确的选择,但我不确定它是否满足要求。
简单地说,对于表中的每一行,我想创建一个blob,该行的内容为1列。
我看到教程(即https://docs.microsoft.com/en-us/azure/data-factory/data-factory-copy-activity-tutorial-using-azure-portal)擅长解释批量到批量数据管道的迁移,但我想从批量到多数据集迁移。
希望有道理,有人可以提供帮助吗?
答案 0 :(得分:1)
截至目前,Azure数据工厂没有像SSIS中的NetworkReachabilityManager().listener = { status in
if status.isReachable {
// perform some operation
}
}
循环那样内置任何内容。您可以使用自定义.net活动来执行此操作,但这需要大量自定义代码。
我想问一下,如果你将它转移到另一个数据库,你会创建600万个具有相同结构的表吗?拥有单独的项目可以获得什么?
另一种替代方法可能是将其转换为JSON,使用Data Factory很容易。这是我最近将数据移入DocumentDB的一个例子。
Copy From OnPrem SQL server to DocumentDB using custom activity in ADF Pipeline
带有Azure Feature Pack的SSIS 2016,提供Azure Blob上传任务和Azure Blob目标等Azure任务。您可能最好使用它,可能是OLEDB命令或具有Azure Blob目标的For Each循环可能是另一种选择。
祝你好运!答案 1 :(得分:0)
Azure具有一个ForEach活动,可以将其放置在LookUp或Metadata之后,以将每行从SQL获取到Blob