次の方法で共有


データ パイプラインでパーティションを使用してレイクハウスにデータを読み込む

変換先としてのレイクハウステーブルのパーティション機能は、パーティションを含むレイクハウステーブルにデータを読み込む機能を提供します。 パーティションは、レイクハウスの変換先で生成され、ダウンストリームジョブまたはダウンストリーム消費に役立ちます。

このチュートリアルでは、データ パイプラインでパーティションを使用してレイクハウスにデータを読み込む方法について説明します。 たとえば、次の手順を実行して、1 つまたは複数のパーティション列を使用して、Lakehouse にサンプル データセットを読み込みます。 サンプル データセット 祝日 は、サンプル データとして使用されます。

前提条件

  • プロジェクト Microsoft Fabric が有効になっているワークスペースがあることを確認します: ワークスペースの作成

データ パイプラインを作成する

  1. Power BI に移動します。

  2. 画面の左下にある Power BI アイコンを選択し、[データ ファクトリ] を選択して Data Factory のホームページを開きます。

  3. Microsoft Fabric ワークスペースに移動します。 前の「前提条件」セクションで新しいワークスペースを作成した場合は、それを使用します。

    ワークスペースに移動するワークスペース ウィンドウのスクリーンショット。

  4. [Data pipeline] (データ パイプライン) を選択し、パイプライン名を入力して新しいパイプラインを作成します。

    新たに作成されたワークスペースの新しいデータ パイプラインのボタンを示すスクリーンショット。

    新しいパイプラインを作成する際の名前を示すスクリーンショット。

パーティション列を使用してレイクハウスにデータを読み込む

  1. データ パイプラインを開き、[パイプライン アクティビティの追加] ->[データのコピー] を選択して、コピー アクティビティを追加します。 [ソース][サンプル データセット] を選択し、[参照] を選択してから、[祝日] を選択します。

    サンプル データセットの使用を示すスクリーンショット。

    サンプル データセットの選択を示すスクリーンショット。

  2. [変換先] タブの [データ ストアの種類][ワークスペース] を選択し、[ワークスペース データ ストアの種類][レイクハウス] を選択し、レイクハウスを指定するか、[+ 新規] を選択して新しいレイクハウスを作成します。 ルート フォルダー[テーブル] を選択し、テーブル名を指定します。

    宛先の構成を示すスクリーンショット。

  3. [詳細設定] を展開し、[テーブル] アクションで [上書き] を選択し、[パーティションの有効化] を選択し、[パーティション列][列の追加] を選択し、パーティション列として使用する列を選択します。 パーティション列として 1 つの列または複数の列を使用することを選択できます。

    1 つの列を使用する場合は、 このチュートリアルの例として countryOrRegion (文字列型) が選択されています。 データは、異なる列の値でパーティション分割されます。

    宛先のパーティション列の構成を示すスクリーンショット。

    Note

    選択できるパーティション列は、文字列、整数、ブール型、および datetime 型である必要があります。 他のデータ型の列はドロップダウン リストに表示されません。

    複数のパーティション列を使用する場合は、もう 1 つの列を追加し、例としてブール型である isPaidTimeOff を選択します。 続いて、パイプラインを実行します。 このロジックでは、まず最初に追加された列値によってテーブルがパーティション化され、その後、パーティション化されたデータが 2 番目に追加された列値によって引き続きパーティション化されます。

    複数のパーティション列の構成を示すスクリーンショット。

    ヒント

    列をドラッグして列の順序を変更すると、パーティションの順序も変更されます。

  4. [実行][保存して実行] の順に選び、パイプラインを実行します。

    保存と実行を示すスクリーンショット。

  5. パイプラインが正常に実行されたら、作成したレイクハウスに移動します。 コピーしたテーブルを見つけます。 テーブルを右クリックし、 [データの表示] を選択します。

    1 つのパーティション列 (countryOrRegion) の場合、テーブルは国または地域の名前によって異なるフォルダーごとにパーティション分割されます。 列名の特殊文字はエンコードされており、レイクハウスでファイルを表示するときに、ファイル名が列の値と異なる場合があります。

    Lakehouse のファイル ビューを示すスクリーンショット。

    コピーされた祝日データのファイル ビューを示すスクリーンショット。

    複数のパーティション列の場合、テーブルは国または地域の名前によって異なるフォルダーにパーティション分割されていることがわかります。

    パーティションの国またはリージョンのフォルダーを示すスクリーンショット。

    1 つのフォルダー (contryOrRegion=米国 など) を選択します。 国名または地域名でパーティション分割されたテーブルは、追加された 2 番目の列 isPaidTimeOff の値 TrueFalse、または __HIVE_DEFAULT_PARTITION__ (サンプル データセットの空の値を表します) によって再びパーティション分割されます。

    ispaidtimeoff ごとの国またはリージョンのパーティションを示すスクリーンショット。

    同様に、テーブルをパーティション分割するために 3 つの列を追加すると、2 番目のレベルのフォルダーが追加された 3 番目の列によってパーティション分割されます。

次に、Azure Blob Storage からレイクハウスへのコピーの詳細に進みます。