Dataflow Gen2 の高速コピー
この記事では、Microsoft Fabric の Data Factory 用 Dataflow Gen2 の高速コピー機能について説明します。 データフローは、データの取り込みと変換を支援します。 SQL DW コンピューティングを使用したデータフロー スケール アウトの導入により、データを大規模に変換できます。 ただし、最初にデータを取り込む必要があります。 高速コピーを導入すると、データフローの簡単なエクスペリエンスによってテラバイト単位のデータを取り込むことができますが、パイプライン コピー アクティビティのスケーラブルなバックエンドを使用します。
この機能を有効にすると、データ サイズが特定のしきい値を超えたとき、データフローはバックエンドを自動的に切り替えます。データフローの作成中に何も変更する必要はありません。 データフローの更新後、更新履歴をチェックして表示されるエンジンの種類を調べることで、実行中に高速コピーが使用されたかどうかを確認できます。
[高速コピー が必要] オプションを有効にすると、高速コピーが使用されていない場合、データフローの更新は取り消されます。 更新タイムアウトが続くのを待つことを避けられるようにします。 この動作はデバッグ セッションで待機時間を短縮しながらデータフロー動作をデータでテストするときにも役立ちます。 クエリ手順ウィンドウの高速コピー インジケーターを使用すると、高速コピーでクエリを実行できるかどうかを簡単に確認できます。
前提条件
- Fabric 容量が必要です。
- ファイル データの場合、ファイルは少なくとも 100 MB (メガバイト) の .csvまたは Parquet 形式で、Azure Data Lake Storage (ADLS) Gen2 または BLOB ストレージ アカウントに格納されます。
- Azure SQL DB とPostgreSQL の場合、データ ソース内の 500 万行以上のデータ。
Note
[高速コピーが必要] 設定を選択すると、しきい値をバイパスして高速コピーを強制できます。
コネクタのサポート
現在、高速コピーは次の Dataflow Gen2 コネクタでサポートされています。
- ADLS Gen2
- Blob Storage
- Azure SQL DB
- レイクハウス
- PostgreSQL
- オンプレミスの SQL Server
- 倉庫
- Oracle
- Snowflake
ファイル ソースに接続するとき、コピー アクティビティはいくつかの変換のみをサポートします。
- ファイルの結合
- 列を選択する
- データ型を変更する
- 列の名前変更
- 列の削除
インジェストと変換の手順を個別のクエリに分割することにより、他の変換を適用することができます。 最初のクエリは実際にデータを取得し、2 番目のクエリはその結果を参照して DW コンピューティングを使用できるようにします。 SQL ソースの場合、ネイティブ クエリの一部であるすべての変換がサポートされます。
出力先にクエリを直接読み込む場合、現在サポートされているのは Lakehouse 出力先のみです。 別の出力先を使用する場合、最初にクエリをステージングして後で参照することができます。
高速コピーを使用する方法
適切な Fabric エンドポイントに移動します。
Premium ワークスペースに移動し、Dataflow Gen2 を作成します。
新規データフローの [ホーム] タブで、[オプション] を選択します。
次に、[オプション] ダイアログで [スケール] タブを選択し、[高速コピー コネクタの使用を許可する] チェックボックスを選択し、高速コピーを有効にします。 次に、[オプション] ダイアログを閉じます。
[データの取得] を選択したら、ADLS Gen2 ソースを選択してコンテナーの詳細を入力します。
[ファイルの結合] 機能を使用します。
高速コピーを確実に行うには、この記事の「コネクタのサポート」セクションに記載されている変換のみを適用します。 変換の適用を追加する必要がある場合、最初にデータをステージングして後でクエリを参照します。 参照先のクエリに他の変換を行います。
(省略可能)[高速コピーが必要] オプションを右クリックして選択し、クエリに設定して有効にできます。
(省略可能) 現在、出力先として Lakehouse のみを構成できます。 その他の出力先については、クエリをステージングし、後で任意のソースに出力できる別のクエリで参照します。
高速コピー インジケーターを確認し、高速コピーでクエリを実行できるかどうかを確認します。 その場合、エンジンの種類には CopyActivity が表示されます。
データフローを発行します。
更新が完了したら、高速コピーが使用されたことを確認します。
高速コピーを活用するためにクエリを分割する方法
Dataflow Gen2 で大量のデータを処理する場合に最適なパフォーマンスを得るために、高速コピー機能を使用して最初にデータをステージングに取り込み、SQL DW コンピューティングを使用して大規模に変換します。 このアプローチにより、エンド ツー エンドのパフォーマンスが大幅に向上します。
これを実装するために、高速コピー インジケーターを使用すると、クエリを 2 つの部分に分割できます。データ インジェストからステージングへのインジェストと、SQL DW コンピューティングによる大規模な変換です。 高速コピーを利用してデータを取り込む際には、クエリ評価の多くをそこへ移行させることをお勧めします。 高速コピー インジケーターで、残りのステップを高速コピーで実行できないことが示された場合は、ステージングを有効にしてクエリの残りの部分を分割できます。
ステップ診断インジケーター
インジケータ | アイコン | 説明 |
---|---|---|
この手順は、高速コピー で評価されます | ![]() |
高速コピー インジケーターは、この手順までのクエリで高速コピーがサポートされていることを示します。 |
高速コピー では、この手順はサポートされていません | ![]() |
高速コピー インジケーターは、この手順が高速コピーをサポートしていないことを示しています。 |
高速クエリ では、クエリ内の 1 つ以上のステップがサポートされていません | ![]() |
高速コピー インジケーターは、このクエリの一部の手順で高速コピーをサポートしているのに対し、サポートしていないステップがあることを示しています。 最適化するには、クエリを分割します。黄色のステップ (高速コピーでサポートされている可能性があります) と赤のステップ (サポートされていません)。 |
ステップ バイ ステップ ガイダンス
Dataflow Gen2 でデータ変換ロジックを完了すると、高速コピー インジケーターによって各ステップが評価され、高速コピーを利用してパフォーマンスを向上できるステップの数が決定されます。
次の例では、最後の手順は赤色で、グループ化 のステップが高速コピーでサポートされていないことを示しています。 ただし、前のすべての手順が黄色で表示されている場合は、高速コピーでサポートされる可能性があります。
現時点では、Dataflow Gen2 を直接発行して実行した場合、次の図のようにデータを読み込むための高速コピー エンジンは使用されません。
高速コピー エンジンを使用して Dataflow Gen2 のパフォーマンスを向上させるには、次のように、クエリを 2 つの部分に分割できます。データ インジェストからステージングへのインジェストと SQL DW コンピューティングによる大規模な変換です。
高速コピーでサポートされていない変換と、変換先 (定義されている場合) を削除します (赤色を示す)。
残りの手順では高速コピー インジケーターが緑色で表示されるようになりました。つまり、最初のクエリでは高速コピーを利用してパフォーマンスを向上させることができます。
最初のクエリの [アクション] を選択し、[ステージングと参照を有効にする] を選択します。
新しい参照先クエリで、"Group By" 変換と変換先 (該当する場合) を読み取ります。
Dataflow Gen2 を発行して更新します。 これで、Dataflow Gen2 に 2 つのクエリが表示され、全体的な期間が大幅に短縮されます。
最初のクエリでは、高速コピーを使用してデータがステージングに取り込まれます。
2 番目のクエリでは、SQL DW コンピューティングを使用して大規模な変換を実行します。
最初のクエリ:
2 番目のクエリ:
既知の制限事項
- 高速コピーをサポートするには、オンプレミス データ ゲートウェイのバージョン 3000.214.2 以降が必要です。
- VNet Gateway はサポートされていません。
- Lakehouse 内の既存のテーブルへのデータの書き込みはサポートされていません。
- 固定スキーマはサポートされていません。