Power Query と Azure Data Lake Storage のデータソースの増分更新
Power Query (プレビュー) または Azure Data Lake Storage に基づくデータ ソースの増分更新には、以下の利点があります:
- 更新速度の増強 - 変更のあったデータのみが更新されます。 例えば、履歴データセットの過去 5 日間だけを更新することができます。
- 安定性の増加 - 更新の規模を縮小化することで、揮発性のソース システムへの接続を長期間維持する必要がなくなり、接続の問題が発生するリスクが軽減されます。
- リソース消費の軽減 - データ全体の一部のみを更新することで、コンピューター上のリソース使用効率が向上し、環境への負荷が軽減します。
Power Query (プレビュー) に基づくデータソースの増分更新を構成する
[この記事はプレリリース ドキュメントであり、変更されることがあります。]
Customer Insights - Data の Power Query データ ソースを増分更新データに設定する。 データ ソース には、レコードを一意に識別する主キー列と、データが最後に更新された日時を示す日時列が必要です。
重要
- これはプレビュー機能です。
- プレビュー機能は運用環境での使用を想定しておらず、機能が制限される可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が一足先にアクセスし、そこからフィードバックを得ることができます。
Azure SQL データベースなどの、増分更新に対応するデータ ソースを選択します。
取り込むテーブルを選択します。
この変換の手順を完了し、保存 を選択します。
増分更新を設定する ダイアログ ボックスで、設定 を選択して、増分更新の設定を開きます。 スキップ を選択すると、データソースがデータセット全体を更新します。
チップ
既存のデータ ソースを編集することで、増分更新を後から適用することも可能です。
増分更新の設定 にて、データ ソースの作成時に選択したすべてのテーブルの増分更新を構成します。
テーブルを選択し、次の詳細を指定します:
- 主キーの設定: テーブルの主キーを選択します。
- 最終更新フィールドの設定: このフィールドには、日付または時刻タイプの属性のみが表示されます。 レコードが最後に更新された日時を示す属性を選択します。 この属性は、増分更新の時間枠内にあるレコードを識別するために使用されます。
- すべての更新を確認する:増分更新の時間枠の長さを指定します。
保存を選択して、データ ソースの作成を完了します。 最初のデータ更新は全体の更新になります。 その後の更新からは、上記手順で設定したように増分の更新が行われます。
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 時間を表し、Upserts と Deletes フォルダが含まれています。 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 データソースの増分更新の構成
データソースを追加または編集する場合、そのテーブルの 属性 ペインに移動します。
属性を確認します。 作成日や最終更新日の属性が、dateTime データ形式と Calendar.Date セマンティック タイプで設定されていることを確認します。 必要に応じて属性を編集し、完了を選択します。
テーブルを選択 ペインで、テーブルを編集します。 増分インジェストチェックボックスが選択されています。
- フルデータ、増分データのアップサート、増分データの削除のための .csv または .parquet ファイルを含むルートフォルダを参照してください。
- フルデータと増分ファイルの両方の拡張子を入力します (.csv または .parquet)。
- .csv ファイルの場合は列区切り文字を選択し、ファイルの最初の行を列ヘッダーとして使用するかどうかを選択します。
- 保存 を選択します。
最終更新日で、日付のタイムスタンプ属性を選択します。
主キーが選択されていない場合は、主キーを選択します。 主キーは、テーブルに固有の属性です。 属性を有効な主キーにするには、重複する値、欠落している値、または null 値を含めないようにする必要があります。 文字列、整数、および GUID データ型属性が主キーとしてサポートされています。
閉じる を選択し、ペインを保存して閉じます。
データ ソースの追加または編集を続行します。
Azure Data Lake データソースの 1 回限りの完全更新を実行する
Azure Data Lake データ ソースの増分更新を構成した後、場合によっては、データを完全にリフレッシュして処理する必要がある場合があります。 増分更新用に設定された完全なデータ フォルダーには、完全なデータの場所が含まれている必要があります。
データ ソースを編集する場合は、テーブルの選択 ペインに移動し、更新するテーブルを編集します。
テーブルの編集 ペインで、1 回限りの完全更新を実行する チェックボックスまでスクロールして選択します。
次の増分ファイルを処理する には、増分ファイルを保持する日時を指定します。 これにより、完全なデータと増分データが、指定された日時後に処理を開始します。 たとえば、12 月の初めから今日 (12 月 30 日) までの増分データを保持しながら、11 月末まで部分的なデータの更新/バックフィルを実行する場合は、12 月 1 日と入力します。 すべてのデータを置き換えて増分フォルダー内のデータを無視するには、将来の日付を指定します。
閉じる を選択し、ペインを保存して閉じます。
保存を選択して変更を適用し、データ ソースページに戻ります。 データ ソース は 更新中 ステータスで、完全更新を実行しています。