次の方法で共有


Dataflow Gen2 でパーティション分割されたコンピューティングを使用する (プレビュー)

パーティション分割されたコンピューティングは現在プレビュー段階であり、CI/CD を使用する Dataflow Gen2 でのみ使用できます。

パーティション分割コンピューティングは、データフロー ロジックの一部を並列に実行し、評価を完了する時間を短縮できる Dataflow Gen2 エンジンの機能です。

パーティション分割コンピューティングは、データ フロー エンジンがデータ ソースをパーティション分割し、各パーティションを並列に処理できる操作を効率的に折りたたむことができるシナリオを対象としています。 たとえば、Azure Data Lake Storage Gen2 に格納されている複数のファイルに接続するシナリオでは、ソースからファイルの一覧をパーティション分割し、 クエリ フォールディングを使用してパーティション分割されたファイルの一覧を効率的に取得し、 ファイルの結合エクスペリエンスを使用して、すべてのファイルを並列で処理できます。

パーティション分割されたコンピューティングを使用するための正しいスクリプトは、Azure Data Lake Storage Gen2、Fabric Lakehouse、Folder、および Azure Blob Storage のコネクタのみが出力します。 現在、SharePoint 用コネクタではサポートされていません。

パーティション分割コンピューティングを設定する方法

この機能を使用するには、次の操作を行う必要があります。

データフロー設定を有効にする

リボンの [ホーム] タブで、[ オプション] ボタンを選択してダイアログを表示します。 [スケール] セクションに移動し、[ パーティション分割されたコンピューティングの使用を許可する] という設定を有効にします。

オプション ダイアログのスケール セクション内のパーティション分割されたコンピューティング設定のスクリーンショット。

このオプションを有効にするには、次の 2 つの目的があります。

  • クエリスクリプトを介して確認された場合、データフローでパーティションコンピュートを使用できるようにします。

  • 結合ファイルなどのエクスペリエンスで、パーティション分割された計算に使用できるパーティション キーが自動的に作成されるようになりました

また、[ プライバシー ] セクションの設定を有効にして、 複数のソースからのデータの結合を許可する必要もあります

パーティション キーを使用したクエリ

パーティション分割されたコンピューティングを使用するには、クエリがステージングされるように設定されていることを確認します。

設定を有効にすると、Azure Data Lake Storage Gen2 などのファイル システム ビューを使用するデータ ソースに対して、ファイルの結合エクスペリエンスを使用できます。 ファイルの結合エクスペリエンスが完了すると、クエリに 追加されたカスタム ステップがあり、次のようなスクリプトが含まれていることがわかります。

let
    rootPath = Text.TrimEnd(Value.Metadata(Value.Type(#"Filtered hidden files"))[FileSystemTable.RootPath]?, "\"),
    combinePaths = (path1, path2) => Text.Combine({Text.TrimEnd(path1, "\"), path2}, "\"),
    getRelativePath = (path, relativeTo) => Text.Middle(path, Text.Length(relativeTo) + 1),
    withRelativePath = Table.AddColumn(#"Filtered hidden files", "Relative Path", each getRelativePath(combinePaths([Folder Path], [Name]), rootPath), type text),
    withPartitionKey = Table.ReplacePartitionKey(withRelativePath, {"Relative Path"})
in
    withPartitionKey

このスクリプト(具体的には withPartitionKey コンポーネント)は、データフローがデータをパーティション分割しようとする方法と、データを並列で評価する方法に関するロジックを駆動します。

追加されたカスタム ステップに対して Table.PartitionKey 関数を使用できます。 この関数は、指定したテーブルのパーティション キーを返します。 上記の場合は、 RelativePath 列です。 その列の値の個別のリストを取得して、データフローの実行中に使用されるすべてのパーティションを把握できます。

Important

パーティション分割されたコンピューティングを適用するには、パーティション キー列がクエリ内に残っている必要があります。

考慮事項と推奨事項

  • データ ソースがファイルの変換の折りたたみをサポートしていないシナリオでは、高速コピーよりもパーティション分割コンピューティングを選択することをお勧めします。

  • 最適なパフォーマンスを得るために、この方法を使用して、データをステージング先または Fabric Warehouse に直接読み込みます。

  • [ファイルの結合] エクスペリエンスのサンプル変換ファイルを使用して、すべてのファイルで発生する変換を導入します。

  • パーティション分割コンピューティングでは、変換のサブセットのみがサポートされます。 パフォーマンスは、使用する変換のソースとセットによって異なる場合があります。

  • データフロー実行の課金は、容量ユニット (CU) の使用量に基づきます。