この記事では、Microsoft Fabric の Dataflow Gen2 for Data Factory の高速コピー機能について説明します。 データフローは、データの取り込みと変換を支援します。 SQL DW コンピューティングを使用したデータフロー スケール アウトの導入により、データを大規模に変換できます。 ただし、最初にデータを取り込む必要があります。 高速コピーを導入すると、データフローの簡単なエクスペリエンスによってテラバイト単位のデータを取り込むことができますが、パイプライン コピー アクティビティのスケーラブルなバックエンドを使用します。
この機能を有効にすると、データフローの作成時に何も変更しなくても、データ サイズが特定のしきい値を超えたときに、データフローによってバックエンドが自動的に切り替わります。 データフローの更新後、更新履歴をチェックして表示されるエンジンの種類を調べることで、実行中に高速コピーが使用されたかどうかを確認できます。
[ 高速コピーが必要] オプションを有効にすると、何らかの理由で高速コピーを使用できない場合、データフローの更新が取り消されます。 この取り消しは、更新のタイムアウトが続くのを待つのを避けるのに役立ちます。 この動作はデバッグ セッションで待機時間を短縮しながらデータフロー動作をデータでテストするときにも役立ちます。 クエリ手順ウィンドウの高速コピー インジケーターを使用すると、高速コピーでクエリを実行できるかどうかを簡単に確認できます。
前提条件
- Fabric 容量が必要です。
- ファイル データの場合、ファイルは 100 MB 以上の CSV または Parquet 形式で、Azure Data Lake Storage (ADLS) Gen2 または BLOB ストレージ アカウントに格納されます。
- Azure SQL DB や PostgreSQL を含むデータベースの場合、データ ソース内の 500 万行以上のデータ。
注意
[高速コピーが必要] 設定を選択すると、しきい値をバイパスして 高速コピーを強制 できます。
コネクタのサポート
現在、高速コピーは次の Dataflow Gen2 コネクタでサポートされています。
- ADLS Gen2
- ブロブストレージ
- Azure SQL DB
- レイクハウス
- PostgreSQL
- オンプレミスの SQL Server
- 倉庫
- Oracle
- 雪の結晶
ファイル ソースに接続するとき、コピー アクティビティはいくつかの変換のみをサポートします。
- ファイルの結合
- 列を選択する
- データ型を変更する
- 列の名前変更
- 列の削除
インジェストと変換の手順を個別のクエリに分割することにより、他の変換を適用することができます。 最初のクエリは実際にデータを取得し、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 番目のクエリの詳細:
既知の制限事項
次の一覧には、高速コピーに関する既知の制限事項が含まれています。
- 高速コピーをサポートするには、オンプレミス データ ゲートウェイのバージョン 3000.214.2 以降が必要です。
- 固定スキーマはサポートされていません。