4

外部テーブルから SQL DW 内部テーブルにデータを読み込もうとしています。BLOB ストレージに圧縮形式のデータ ストアがあり、外部テーブルは BLOB ストレージの場所を指しています。

サイズが約 22GB の約 24 個のファイルがあり、より大きなリソース クラスのサービス/ユーザー アカウントを使用して、外部テーブルから 300 DWU の内部テーブルにデータをロードしようとしています。

ステートメントへの挿入 (非常に簡単です) が 10 時間以上実行されています。insert into Trxdata.Details_data select * from Trxdata.Stage_External_Table_details_data;

以下のステートメントも試してみましたが、これも10時間以上実行されています。CREATE TABLE Trxdata.Details_data12 WITH (DISTRIBUTION = ROUND_ROBIN) AS SELECT * FROM Trxdata.Stage_External_Table_details_data;

なるほど - 両方の SQL が "sys"."dm_pdw_exec_requests" で ACTIVE ステータスで実行されています [考えていましたが、同時実行スロットの問題であり、実行する同時実行スロットがありませんが、そうではありません]

そして、DWUを増やしたりスケールアップしたりして、パフォーマンスが向上することを望んでいました。しかし、portal.azure.com で DWU の使用状況を見てみると、DWU の使用状況グラフが過去 12 時間で <50DWU を示しているため、DWU を増加させることはできません。

DWU 使用率チャート

それで、私は理解しようとしています-どうすれば見つけることができますか-何がそんなに時間がかかっているのか、どうすればデータロードのパフォーマンスを向上させることができますか?

4

3 に答える 3

1

データ読み込みの最適化に関する SQL CAT の以下のブログをご覧ください。 https://blogs.msdn.microsoft.com/sqlcat/2016/02/06/azure-sql-data-warehouse-loading-patterns-and-strategies/

提供された情報に基づいて、考慮すべき点は次のとおりです。

1) DW インスタンスと比較した BLOB ファイルの局所性。それらが同じ地域にあることを確認してください。2) クラスター化された列ストアは既定でオンになっています。22GB のデータをロードしている場合、HEAP ロードのパフォーマンスが向上する可能性があります (ただし、行数については不明です)。そう:

CREATE TABLE Trxdata.Details_data12 
WITH (HEAP, DISTRIBUTION = ROUND_ROBIN)
AS SELECT * FROM Trxdata.Stage_External_Table_details_data ;

問題が解決しない場合は、サポート チケットを提出してください: https://azure.microsoft.com/en-us/documentation/articles/sql-data-warehouse-get-started-create-support-ticket/

于 2016-08-19T16:20:01.317 に答える