Data Factory V2复制数据活动和数据流ETL

时间:2019-11-14 22:05:25

标签: azure azure-data-factory-2

我对Data Factory V2复制数据活动的问题有5个问题。

问题1

我应该使用实木复合地板文件还是具有500 DTU的 SQL服务器?我想将数据快速传输到临时表或临时实木复合地板文件

问题2

复制数据活动数据集成单元应该使用自动或32个数据集成单元

enter image description here

问题3

使用复制并行度有什么好处,我应该使用 Auto还是再次使用32 ?我想尽快传输所有内容,因为我每天大约有5000万行。

问题4

数据流集成运行时,所以我应该使用通用,计算优化或内存优化,因为我提到我们每天有 5000万行,因此我们要进行处理数据尽快(如果可以的话)便宜的方式

enter image description here

问题5

在Data Factory和Data Flow Sink中批量插入效果更好

1 个答案:

答案 0 :(得分:1)

我认为您对太多主题有太多疑问,答案完全取决于您想要的最终结果。即使这样,我也会尽力简短地解决您的情况。

如果要处理大量和/或频繁的数据,则数据流(ADFDF)可能比复制活动要好。 ADFDF通过数据块在Spark上运行,并且是从头开始构建的,可以运行并行工作负载。 Parquet还构建为支持并行工作负载。如果您的SQL是Azure Synapse(SQLDW)实例,则ADFDF将使用Polybase来管理上载,这非常快,因为它也是为并行工作负载而构建的。我不确定Azure SQL会有什么不同,并且无法告诉您哪种DTU级别最适合您的任务。

如果以Parquet作为最终结果是可以接受的,那么这可能是最简单且最便宜的配置,因为它只是blob存储。 ADFDF可以与Parquet一起使用,无论是Source还是Sink。对于ETL工作负载,“计算”是最可能的IR配置。好消息是它是三者中最便宜的。坏消息是我无法知道核心数量应该是多少,您只需要通过反复试验就可以找到答案。 5000万行听起来可能很多,但这实际上取决于行的大小(字节数和列数)以及频率。如果该过程每天运行多次,则可以在IR配置中包含“生存时间”值。这样可以使群集在等待其他作业时保持温暖,从而有可能减少启动时间(但会增加运行时间成本)。