我有一个很大的csv文件存储在Azure的Blob存储中。 我想尽快将其加载到zure sql数据库中。
我曾尝试在DataFactory集成运行时中运行SSIS,但由于它是一个线程/进程,所以它运行起来很慢。
将Azure中的csv的数据负载并行化到sql数据库的最佳方法是什么?
注意,如果可以,我可以将csv移至其他存储设备(例如datalake)。
答案 0 :(得分:0)
Azure SQL中最快的方法是使用BULK操作(BULK INSERT或OPENROWSET BULK)。您需要首先创建一个指向包含要导入的CSV的Azure Blob存储的外部数据源,然后可以使用批量操作:
SELECT * FROM OPENROWSET(BULK ...)
完整的解释和示例在这里:
该示例描述了如何导入放置在Blob存储中的文件。多个文件将并行导入。
有关如何将数据从Azure Blob存储批量导入到Azure SQL的完整说明,官方文档中有很多示例
另一个选择是使用Azure Data Factory,其速度与刚才提到的BULK选项一样快,但是它需要创建一个Azure Data Factory管道,这会增加解决方案的复杂性……但是,另一方面无需编写任何代码即可完成操作。