ApacheSpark—将大量数据从sql server传输到azure sql server的最佳方法azure数据工厂、hdinsight等

kuhbmx9i  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(419)

我想找到最好的方法将20gb的sql数据从安装在客户现场服务器client上的sql服务器数据库传输到我们的azure sql服务器source上,该服务器的s4具有200 dtu的性能,每月收费320美元。在进行初始设置时,我们设置了一个azure数据工厂,它通过多个表副本(例如,客户端表a的内容到源表a,客户端表b的内容到源表b)复制超过20GB的数据,然后我们运行许多提取器存储过程,通过将这些源表连接在一起(例如,source a连接到source b),将源表中的数据插入stage表中。之后是增量拷贝,但初始设置确实要花很长时间。
目前,s4上的复制时间约为12小时,提取时间为4小时。以每月2400美元的价格将性能层增加到1600dtu的s9将使提取时间减少到2小时,但这将带来更高的成本。
我想知道是否还有其他的azure方法。与将azuresqldb扩展到s9或更多版本相比,使用hadoop或spark设置hdinsight集群在成本上是否更高效?一个月2400美元,31天的s9是每小时3.28美元。d14v2示例的存储优化节点的azurehdinsight集群每小时1.496美元,因此比s9便宜。然而,在性能方面,它是如何比较的呢。复制过程会更快还是提取过程会更快?
我还不习惯大数据方法。谢谢你的帮助。

xfyts7mz

xfyts7mz1#

azure data factory copy activity提供了一流的安全、可靠和高性能数据加载解决方案。它使您能够每天跨各种各样的云和本地数据存储复制数十TB的数据。复制活动提供了一种高度优化的数据加载体验,易于配置和设置。
您可以查看有关复制活动的性能参考表:

下表显示了基于内部测试运行的单个复制活动中给定源和接收器对的复制吞吐量(以mbps为单位)。
如果您希望通过使用azure数据工厂复制活动更快地传输数据,azure提供了三种实现更高吞吐量的方法:
数据集成单元。数据集成单元(diu)(以前称为云数据移动单元或dmu)是表示数据工厂中单个单元的功率(cpu、内存和网络资源分配的组合)的度量。通过使用更多的数据集成单元(diu),您可以获得更高的吞吐量。您将根据复制操作的总时间收费。为数据移动计费的总持续时间是整个DIU的持续时间之和。
平行拷贝。我们可以使用parallelcopies属性来指示复制活动要使用的并行性。对于每个复制活动运行,数据工厂都会确定用于将数据从源数据存储复制到目标数据存储的并行副本数。
暂存副本。将数据从源数据存储复制到接收器数据存储时,可以选择使用blob存储作为临时暂存存储。
您可以采用这些方法通过复制活动来调整数据工厂服务的性能。
有关azure数据工厂复制活动性能的更多详细信息,请参阅:https://docs.microsoft.com/en-us/azure/data-factory/copy-activity-performance#data-集成单元

相关问题