Power Query と Azure Data Lake Storage のデータソースの増分更新

Power Query (プレビュー) または Azure Data Lake Storage に基づくデータ ソースの増分更新には、以下の利点があります:

  • 更新速度の増強 - 変更のあったデータのみが更新されます。 例えば、履歴データセットの過去 5 日間だけを更新することができます。
  • 安定性の増加 - 更新の規模を縮小化することで、揮発性のソース システムへの接続を長期間維持する必要がなくなり、接続の問題が発生するリスクが軽減されます。
  • リソース消費の軽減 - データ全体の一部のみを更新することで、コンピューター上のリソース使用効率が向上し、環境への負荷が軽減します。

Power Query (プレビュー) に基づくデータソースの増分更新を構成する

[この記事はプレリリース ドキュメントであり、変更されることがあります。]

Customer Insights - Data の Power Query データ ソースを増分更新データに設定する。 データ ソース には、レコードを一意に識別する主キー列と、データが最後に更新された日時を示す日時列が必要です。

重要

  • これはプレビュー機能です。
  • プレビュー機能は運用環境での使用を想定しておらず、機能が制限される可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が一足先にアクセスし、そこからフィードバックを得ることができます。
  1. Power Query ベースの新しいデータ ソースを作成します

  2. Azure SQL データベースなどの、増分更新に対応するデータ ソースを選択します。

  3. 取り込むテーブルを選択します。

  4. この変換の手順を完了し、保存 を選択します。

  5. 増分更新を設定する ダイアログ ボックスで、設定 を選択して、増分更新の設定を開きます。 スキップ を選択すると、データソースがデータセット全体を更新します。

    チップ

    既存のデータ ソースを編集することで、増分更新を後から適用することも可能です。

  6. 増分更新の設定 にて、データ ソースの作成時に選択したすべてのテーブルの増分更新を構成します。

    増分更新の設定を更新する。

  7. テーブルを選択し、次の詳細を指定します:

    • 主キーの設定: テーブルの主キーを選択します。
    • 最終更新フィールドの設定: このフィールドには、日付または時刻タイプの属性のみが表示されます。 レコードが最後に更新された日時を示す属性を選択します。 この属性は、増分更新の時間枠内にあるレコードを識別するために使用されます。
    • すべての更新を確認する:増分更新の時間枠の長さを指定します。
  8. 保存を選択して、データ ソースの作成を完了します。 最初のデータ更新は全体の更新になります。 その後の更新からは、上記手順で設定したように増分の更新が行われます。

Azure Data Lake Storage データソースの増分更新を構成する

マイクロソフトでは、大規模なデータ セットを操作する場合に最高のパフォーマンスと結果を得るために、Delta Lake data sets.形式を推奨しています。 Customer Insights - Data は、Delta Lake 形式のデータ用に最適化されたコネクタを提供します。 統合などの内部プロセスは、変更されたデータのみを段階的に処理するように最適化されているため、処理時間が短縮されます。

Data Lake テーブルに対して増分インジェストと更新を使用するには、Azure Data Lake データソースの追加時か編集時にそのテーブルを構成します。 テーブル データ フォルダには、次のフォルダが含まれている必要があります:

  • FullData: フォルダには、初期レコードを含むデータ ファイルが必要です
  • IncrementalData: 増分更新を含む yyyy/mm/dd/hh 形式の日付/時刻階層フォルダです。 年、月、日、時間フォルダーは、それぞれ 4 桁と 2 桁であることが想定されています。 hhは更新の UTC 時間を表し、UpsertsDeletes フォルダが含まれています。 Upsertsは、既存レコードの更新や新規レコードを含むデータファイルです。 削除には、削除するレコードのあるデータ ファイルが含まれています。

増分データの処理順序

システムは、指定された UTC 時間が終了した IncrementalData フォルダ内のファイルを処理します。 たとえば、システムが 2023 年 1 月 21 日の午前 8 時 15 分に増分更新の処理を開始した場合、フォルダー 2023/01/21/07 (午前 7 時から午前 8 時までに保存されたデータ ファイルを表す) 内のすべてのファイルが処理されます。 フォルダー 2023/01/21/08 (ファイルがまだ生成されている現在の時間を表します) 内のファイルは、次回の実行まで処理されません。

主キーに更新/挿入と削除という 2 つのレコードがある場合、Customer Insights - Data は最新の変更日を持つレコードを使用します。 たとえば、削除のタイムスタンプが 2023-01-21T08:00:00 で、更新/挿入のタイムスタンプが 2023-01-21T08:30:00 の場合、更新/挿入レコードが使用されます。 更新/挿入後に削除が行われた場合、システムはレコードが削除されたものとみなします。

Azure Data Lake データソースの増分更新の構成

  1. データソースを追加または編集する場合、そのテーブルの 属性 ペインに移動します。

  2. 属性を確認します。 作成日や最終更新日の属性が、dateTimeデータ形式Calendar.Dateセマンティック タイプで設定されていることを確認します。 必要に応じて属性を編集し、完了を選択します。

  3. テーブルを選択 ペインで、テーブルを編集します。 増分インジェストチェックボックスが選択されています。

    データソースのテーブルの増分更新を設定します。

    1. フルデータ、増分データのアップサート、増分データの削除のための .csv または .parquet ファイルを含むルートフォルダを参照してください。
    2. フルデータと増分ファイルの両方の拡張子を入力します (.csv または .parquet)。
    3. .csv ファイルの場合は列区切り文字を選択し、ファイルの最初の行を列ヘッダーとして使用するかどうかを選択します。
    4. 保存 を選択します。
  4. 最終更新日で、日付のタイムスタンプ属性を選択します。

  5. 主キーが選択されていない場合は、主キーを選択します。 主キーは、テーブルに固有の属性です。 属性を有効な主キーにするには、重複する値、欠落している値、または null 値を含めないようにする必要があります。 文字列、整数、および GUID データ型属性が主キーとしてサポートされています。

  6. 閉じる を選択し、ペインを保存して閉じます。

  7. データ ソースの追加または編集を続行します。

Azure Data Lake データソースの 1 回限りの完全更新を実行する

Azure Data Lake データ ソースの増分更新を構成した後、場合によっては、データを完全にリフレッシュして処理する必要がある場合があります。 増分更新用に設定された完全なデータ フォルダーには、完全なデータの場所が含まれている必要があります。

  1. データ ソースを編集する場合は、テーブルの選択 ペインに移動し、更新するテーブルを編集します。

  2. テーブルの編集 ペインで、1 回限りの完全更新を実行する チェックボックスまでスクロールして選択します。

    データ ソースのテーブルの 1 回限りの更新を設定します。

  3. 次の増分ファイルを処理する には、増分ファイルを保持する日時を指定します。 これにより、完全なデータと増分データが、指定された日時後に処理を開始します。 たとえば、12 月の初めから今日 (12 月 30 日) までの増分データを保持しながら、11 月末まで部分的なデータの更新/バックフィルを実行する場合は、12 月 1 日と入力します。 すべてのデータを置き換えて増分フォルダー内のデータを無視するには、将来の日付を指定します。

  4. 閉じる を選択し、ペインを保存して閉じます。

  5. 保存を選択して変更を適用し、データ ソースページに戻ります。 データ ソース は 更新中 ステータスで、完全更新を実行しています。