Azure Synapse Link for Dataverse に関する FAQ

この記事では、Microsoft Dataverse テーブルのデータを Azure Synapse Analytics および Azure Data Lake にエクスポートする際の、よくある質問について記載しています。

接続された Azure ストレージ内のデータ ファイルの作成、更新、削除、保持ポリシーの設定などのタスクを手動で実行できますか?

顧客はデータ ファイルを変更できません。また、顧客ファイルをデータ フォルダーに配置することはできません。

注意

Azure Synapse Link を切断せずにデータ レイク内の古くて停滞しているデータを削除するには、増分更新をクエリして分析する 機能を使用することを検討する必要があります

はい Web ブラウザーのアドレス バーで、?athena.updateLake=trueexporttodatalake で終わる Web アドレスに追加します。 Azure Synapse Link ホームページから既存のプロファイルを選択する場合、拡張オプション Azure Synapse Analytics ワークスペースにリンクするに新しいアクションが表示されます。

テーブルのリレーションシップにアクセスするにはどうすればよいですか?

多対多のリレーションシップにアクセスするには、新しいリンクの場合はテーブルの追加ページから、既存のリンクの場合はテーブルの管理から、リレーションシップをテーブルとして選択できます。

列を追加するとどうなりますか ?

ソースのテーブルに新しい列を追加すると、対応するファイル パーティションの宛先のファイルの最後に追加されます。 列が追加される前の行には新しい列は表示されませんが、新しい行や更新された行には新しく追加された列が表示されます。

列を削除するとどうなりますか?

ソースのテーブルから列を削除しても、その列は宛先から削除されません。 その代わりに、行は更新されなくなり、前の行を保持したまま null 値としてマークされます。

列のデータ型を変更するとどうなりますか ?

列のデータ型を変更することは破壊的変更であり、リンクを解除して再リンクする必要があります。

行を削除するとどうなりますか ?

行の削除は、選択したデータ書き込みオプションにによって処理が異なります。

  • インプレース更新: これは既定のモードであり、このモードでテーブルの行を削除すると、Azure Data Lake の対応するデータ パーティションからも行が削除されます。 つまり、データは保存先から完全に削除されます。
  • 追加のみ: このモードでは、Dataverse テーブルの行が削除され、保存先から完全に削除されるわけではありません。 代わりに、Azure Data Lake の対応するデータ パーティション内のファイルに行が追加され、[isDeleted=True] と設定されます。

Model.json ファイルのデータ型の長さが増加または変更され、Dataverse で定義されている内容が保持されないのはなぜですか?

Model.json では、列のサイズに対応したデータベースの長さを保持しています。 Dataverse では、各列のデータベースの長さという概念があります。 サイズが 200 の列を作成し、後で 100 に減らしたとしても、Dataverse は既存のデータを Dataverse に存在させることができます。 そうするには、DBLength を 200 に、MaxLength を 100 に維持します。 Model.json に表示されるのは `DBLength`` であり、これをダウンストリーム プロセスに使用すると、Dataverse 列のプロビジョニングするスペースが少なくなることはありません。

エクスポートされた Dataverse テーブルで期待できる日付と時刻の形式は何ですか ?

エクスポートされた Dataverse テーブルで期待できる日付と時刻の形式は 3 つあります。

列名 形式 データ型
SinkCreatedOnSinkModifiedOn M/d/yyyy H:mm:ss tt datetime 6/28/2021 4:34:35 PM
CreatedOn yyyy-MM-dd'T'HH:mm:ss.sssssssXXX datetimeOffset 2018-05-25T16:21:09.0000000+00:00
その他のすべての列 yyyy-MM-dd'T'HH:mm:ss'Z' datetime 2021-06-25T16:21:12Z

注意

CreatedOn データ型は、2022 年 7 月 29 日に datetime から datetimeOffset に変更されました。 変更前に作成されたテーブルのデータ型形式を編集するには、テーブルを削除して再追加します。

Dataverse の日付と時刻の列に対してさまざまな列の動作を選択することができ、これによりデータ型の形式が更新されます。 詳細: 日時の列の動作と形式

年次または月次のパーティション化戦略はいつ使用する必要がありますか ?

1 年以内にデータ量が多くなる Dataverse のテーブルでは、月次パーティションを使用することをお勧めします。 そうすることで、ファイルが小さくなり、パフォーマンスが向上します。 また、Dataverse テーブルの行が頻繁に更新される場合は、複数の小さなファイルに分割することで、インプレース更新シナリオの場合のパフォーマンスが向上します。

追加専用モードとは何ですか? また、追加専用モードとインプレース更新モードの違いは何ですか?

追加専用モードでは、Dataverse テーブルからの増分データがレイクの対応するファイル パーティションに追加されます。 詳細情報: Azure Synapse Link の詳細構成オプション

変更の履歴表示に追加専用モードを使用するのはどのような場合ですか?

追加のみモードは、Dataverse のテーブル データをレイクに書き込む際に推奨されるオプションで、特にデータが頻繁に変更されるパーティション内でデータ ボリュームが大きい場合に有効です。 繰り返しになりますが、これは一般的によく使用されているため、企業のお客様に強く推奨されるオプションです。 さらに、Dataverse からの変更を段階的に確認し、ETL、AI、ML のシナリオで使用する変更を処理することを意図したシナリオには、このモードを選択できます。 追加のみのモードでは、最新の変更やインプレース更新ではなく、変更の履歴を提供し、過去の値に基づいた予測や予報の分析など、AI のシナリオからいくつかの時系列を可能にします。

追加専用モードでデータをエクスポートするときに、各レコードの最新の行を取得し、削除された行を除外するにはどうすればよいですか?

追加専用モードでは、VersionNumberSinkModifiedOn を使用して、同じ ID を持つレコードの最新バージョンを特定してから、isDeleted=0 を最新バージョンに適用する必要があります。

追加専用モードを使用してデータをエクスポートすると、バージョン番号が重複して表示されるのはなぜですか?

追加専用モードの場合、ネットワークの遅延などの理由でデータがコミットされたことを Azure Synapse Link for Dataverse が Azure Data Lake から認証できないとき、Azure Synapse Link はシナリオにおいて再試行し、データを再度コミットします。 ダウンストリームの使用は、SinkModifiedOn を使用してデータをフィルター処理することにより、このシナリオに対して回復性があるようにする必要があります。

エクスポートにサポートされていないのはどの Dataverse テーブルですか?

次のシステム テーブルと、変更の追跡が有効になっていないテーブルはサポートされません:

  • 添付
  • Calendar
  • Calendarrule

注意

Azure Synapse Link for Dataverse を使用するエクスポートに監査テーブルを追加できます。 ただし、監査テーブルのエクスポートは、Delta Lake プロファイルでのみサポートされています。

計算列は、ルックアップ フィールドが同じテーブル内にある場合にのみサポートされます。 データ更新は、変更追跡がトリガーされた場合にのみ行われます。ルックアップ値は、ルート テーブルのレコードが変更された場合にのみルート テーブルで変更されます。 ルックアップ フィールドの値をより適切に反映するには、元のテーブルと結合して最新の値を取得することをお勧めします。

デフォルトで追加専用モードを使用するのはどの Dataverse テーブルですか?

createdOn フィールドを持たないすべてのテーブルは、既定で追加専用モードを使用して同期されます。 これには、リレーションシップ テーブルと ActivityParty テーブルが含まれます。

Azure Synapse Link では、送信料金を回避するだけでなく、高性能と低遅延を確保するために、すべてのリソースを同じリージョンに配置する必要があります。 クロス リージョン シナリオがある場合は、次のことができます。

  • Azure リソースを環境と同じリージョンに移動します。
  • Microsoft カスタマー サポート に連絡して、環境を Azure リソースと同じリージョンに移動します。
  • Azure Data Lakeで、読み取りアクセス geo 冗長ストレージ (RA-GRS) を有効化して、Azure データを近くのリージョンに複製します。 詳細: セカンダリ リージョンのデータへの読み取りアクセス
  • Azure Synapse パイプラインまたは Azure Data Factory を使用して、あるリージョンから他の Azure リソースへデータをコピーします。

パス上のディレクトリの内容をリストできません - というエラー メッセージが表示されるのはなぜですか?

Dataverse データは、接続されたストレージ コンテナーに保存されます。 Synapse Workspace を通じて読み取り操作とクエリ操作を実行するには、リンクされたストレージ アカウントに "Storage Blob Data投稿者" ロールが必要です。

「ファイルが不完全または読み取ることができなかったため、一括読み込みができません」というエラー メッセージが表示されるのはなぜですか?

Dataverse データは、トランザクションの作成、更新、削除を通じて継続的に変更できます。 このエラーは、基になるファイルからデータを読み取るときに変更されることが原因で発生します。 したがって、継続的に変更されるテーブルの場合、消費パイプラインを変更して、スナップショット データ (パーティション テーブル) を使用して消費する必要があります。 詳細: Azure Synapse Workspace を使用して Azure Synapse Link for Dataverse を作成する