2015-08-18 58 views
1

我有大量要爲SQL DW加載的數據。將數據提供給Azure的最佳方式是什麼?我應該使用導入/導出還是AzCopy?每種方法需要多長時間?將數據加載到Azure SQL DW

回答

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(計算資源)的數量。這將增加計算資源的數量,增加額外的並行性,這將減少總攝取時間。

相關問題