我有大量包含日志数据的blob,需要将其复制到azure sql表中,并且更多的blob将定期到达。blob的命名格式为[ORIGINALTARFILENAME].tar.gz.log
.
如何使用数据工厂,以便它执行初始回填而不会超时,然后将相同的管道转换为定期运行,这样就不会处理blob两次?
本质上是:
- 创建一次性进程
- 在VS 中打开进程
- 修改json以包含某种形式的时间表
- 部署更改
这取决于你的数据是如何组织的。Data Factory最适合于可以轻松地划分为基于时间的片的数据集。如果您的ORIGINALTARFILENAME
包含blob创建的日期和时间,您可以通过一个简单的管道以简单的方式实现您想要的。
您可以使用官方文档中的这个示例作为起点:https://azure.microsoft.com/en-us/documentation/articles/data-factory-azure-blob-connector/
然后将您的活动startDate
设置在过去足够远的地方,以拾取已经存在的所有blobs。回填将与进入的新片并行运行(增加活动concurrency
将确保没有任何东西被饿死),并且您不必以任何特殊方式处理它,因为每个blob将恰好对应于一个片,因此只处理一次。