将数据加载到Azure SQL DW

时间:2015-08-18 17:27:47

标签: azure azure-sql-database data-warehouse

我要为SQL DW加载大量数据。将数据传输到Azure的最佳方法是什么?我应该使用Import / Export还是AzCopy?每种方法需要多长时间?

2 个答案:

答案 0 :(得分:3)

加载数据的过程取决于数据量。对于非常小的数据集(<100 GB),您只需使用批量复制命令行实用程序(bcp.exe)从SQL Server导出数据,然后导入到Azure SQL数据仓库。

对于大于100 GB的数据集,您可以使用bcp.exe导出数据,使用AzCopy之类的工具将数据移动到Azure Blob存储,创建外部表(通过TSQL代码)然后拉通过Create Table As Select (CTAS)语句输入数据。根据您与云的连接情况,这可以很好地更新到TB或者两个TB。

对于非常大的数据集,例如大于几个TB,您可以使用Azure Import/Export服务将数据移动到Azure Blob存储中,然后使用PolyBase / CTAS加载数据。

使用PolyBase / CTAS路由将允许您利用Azure SQL数据仓库(基于MPP的系统)中的多个计算节点和数据处理的并行特性。这将极大地改善数据提取性能,因为每个计算节点能够与其他节点并行处理数据块。

还有一个考虑因素是在CTAS语句时增加SQL数据仓库中可用的DWU(计算资源)的数量。这将增加计算资源的数量,增加额外的并行性,这将减少总的摄取时间。

答案 1 :(得分:2)

您可以浏览下面的文档,找出最适合您的选项。

https://azure.microsoft.com/en-us/documentation/articles/sql-data-warehouse-overview-load/

如果您已在内部部署SQL Server中拥有数据,则可以使用迁移向导工具将该数据加载到Azure SQL DB。

http://sqlazuremw.codeplex.com/