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