私は2つのvarchar(2000)列でかなり広いです350メガバイトのテーブルを持っています。 SSISデータフローを使用すると、OLEDBの「高速ロード」宛先を経由してAzure SQL DWにロードするのに60分かかります。私は(SSIS Azure feature packから)Azureブロブ先となる、そのデータフローに目的地を変更し、1.5分で完了し、同じデータ・フロー(その新しいフラットファイルからおよびポリ塩基は約2分かかります)。私は、既存の1ギガバイトのフラット・ファイルを持っている別のソースについては最適なSSISのデータフローの設定
。 Azure SQL DWのOLEDB宛先へのSSISデータフローは90分かかります。ファイルをblobストレージにコピーし、Polybaseのロードに5分かかります。
SSISはSSIS 2014で、Azure SQL DWと同じ地域のAzure VM上で実行されています。バルク負荷は制御ノードを通過するが、Polybaseはすべての計算ノードで並列化されるため、バルク負荷はPolybaseよりもはるかに遅いことがわかっています。しかし、これらのバルクロード数は非常に遅いです。
バルクロードを使用してAzure SQL DWステージテーブルにできるだけ高速にロードするためのSSISデータフローとデスティネーションの最適な設定は何ですか?
- ステージテーブルジオメトリ= HEAPは
- データフローの設定(私は信じて最速です):特に私は、私は考えていないよ、他の設定に加えて、以下の設定の最適値に興味
- DefaultBufferMaxRows =?
- DefaultBufferSize =?
- OLEDB先の設定
- データアクセスモード=表またはビュー - 高速負荷
- 未確認=アイデンティティを保つヌルの=を保ちますか?
- テーブルロック=?
- チェック制約=?
- 1バッチあたりの行数=?
- 最大挿入コミットサイズ=?
ありがとうSonya。 60分かかるデータフローでは、ステージテーブルをcolumnstoreからHEAPに切り替えると、2-3倍高速化され、DefaultBufferSize(DefaultBufferMaxRowsが100,000であっても行の幅が10,000行になるため)が最大化されました約2〜3倍速くなります。今は8分以内に実行されています。 BDDはこの特定のテスト(中規模ユーザーのDWU400)では大きな違いはありませんでした。テストした他のデータフローの宛先設定も大きな違いはありませんでした。私たちはトップ2の犯人を見つけたと思う。 – GregGalloway