Azure Synapse Link の高度な構成オプション

Azure Synapse Link では、さまざまな分析シナリオに合わせてデータの書き込みと読み取りをする複数の方法を提供します。

注意

Azure Synapse Link for Dataverse は以前は、Data Lake へのエクスポートと呼ばれていました。 このサービスは、2021 年 5 月より名称が変更され、Azure Synapse Analytics だけでなく、Azure Data Lake へのデータのエクスポートも継続されます。

この記事では次の点を説明します:

  1. インプレース更新と、追加のみ書き込みの比較。
  2. ユーザー指定のデータ分割。

インプレース更新と追加のみの書き込み

Dataverse のテーブル データを Azure Data Lake に書き込んでいる間、レコードが作成された日時である createdOn の値に基づいて、2つの異なる設定を選択することができます。 これらは インプレース アップデート追加のみ です。

既定の設定 (createdOn が使用可能なテーブル) は、宛先の増分データのインプレース更新、またはアップサート (更新または挿入) を実行します。 変更が新しく、対応する行がレイクに存在しない場合は、作成の場合に、宛先ファイルがスキャンされ、変更がレイクの対応するファイル パーティションに挿入されます。 変更内容が更新で、レイクに行が存在する場合、レイクの対応するファイルは挿入ではなく、増分データで更新されます。 言い換えれば、createdOn が利用可能な Dataverse のテーブルにおけるすべての CUD 変更の既定の設定は、宛先である Azure Data Lake でその場で更新を実行することです。

追加のみ のオプション設定を使用することで、インプレース アップデートの既定の動作を切り替えることができます。 インプレース アップデート ではなく、追加のみ モードでは、Dataverse のテーブルからの増分データがレイクの対応するファイル パーティションに追加されます。 これは、テーブルの設定ごとに、詳細 > 高度な構成の設定を表示する の下のチェックボックスとして利用できます。 追加のみ を有効化した Dataverse テーブルでは、すべての CUD の変更点がレイクの対応する宛先ファイルに増分追加されます。 このオプションを選択すると、パーティション戦略はデフォルトで に設定され、データ レイクにデータが書き込まれると、年単位で分割されます。 追加のみ は、createdOn 値を持たない Dataverse テーブルのデフォルト設定でもあります。

以下の表では、データ書き込みオプションごとに、CUD イベントに対するレイクにおける行の処理方法を説明しています。

イベント インプレース アップデート 追加のみ
作成​​ この行はパーティション ファイルに挿入され、その行の createdOn の値に基づきます。 この行はパーティション ファイルの最後に追加され、レコードの createdOn 値に基づいています。
更新 行がパーティション ファイルに存在する場合は、更新後のデータに置き換えられるか、更新されます。 存在しない場合は、ファイルに挿入されます。 この行は、更新されたバージョンとともに、パーティション ファイルの最後に追加されます。
Delete キー 行がパーティション ファイルに存在する場合、その行はファイルから削除されます。 パーティション ファイルの末尾に isDeleted column = True の行が追加されます。

注意

追加のみ が有効な Dataverse のテーブルでは、ソース側の行を削除してもレイク側の行は削除されません。 代わりに、削除された行がレイクの新しい行として追加され、isDeleted 列が True に設定されます。

オプションのいずれかを使用する場合の詳細を次に示します。

  • インプレース更新: このオプションはデフォルト設定であり、レイクのデータに直接接続し、現在の状態 (履歴や増分変更ではなく) が必要な場合にのみ推奨されます。 このファイルには、データセット全体が含まれており、Power BI やETL (抽出、転送、読み込み) パイプラインにデータセット全体をコピーして利用することができます。
  • 追加のみ : レイク内のデータに直接接続せず、ETL パイプラインを使ってデータを別のターゲットに段階的にコピーする場合は、このオプションを選択します。 このオプションは、AI や ML のシナリオを有効にするための変更履歴を提供します。

Azure Synapse Link for Dataverse の 詳細 にある 高度な構成設定を表示する を切り替えると、データ パーティション戦略をカスタマイズや、Azure data lake への書き込みオプションを選択することができます。

高度な構成を表示する。

データのパーティション分割

Azure Synapse Link を使用して Dataverse テーブル データを Azure data lake storage に書き込む場合、テーブルはソースの各行の createdOn 値に基づいてレイクにパーティション分割 (単一ファイルの代わりに) されます。 既定のパーティション戦略は月単位で、データは月単位で Azure Data Lake に分割されます。

Dataverse テーブルのボリュームとデータの分布に基づいて、データを年ごとに分割することを選択できます。 このオプションを使用すると、Dataverse テーブル データが Azure Data Lake に書き込まれる際に、ソースの各行の createdOn 値に基づいて 1 年単位で分割されます。 createdOn 列のないテーブルでは、500 万レコードごとにデータの行が新しいファイルに分割されます。 これは、テーブルごとの設定で、詳細 > 詳細な構成設定を表示する の下のチェックボックスとして利用できます。

年次または月次のパーティション戦略を使用して、レイクでデータを処理する方法の例を含む詳細:

パーティション戦略。

関連情報

Azure Synapse Link for Dataverse

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。