Azure Data Lake Storage で差分テーブルに接続する

Delta テーブルのデータに接続して Dynamics 365 Customer Insights - Data に取り込みます。

Delta 形式で保存されたデータに接続する主な理由は次のとおりです:

  • Delta 形式のデータを直接インポートして、時間と労力を節約します。
  • Lakehouse データのコピーの変換と保存に関連するコンピューティング コストとストレージ コストを排除します。
  • Delta バージョン によって提供される Customer Insights - Data へのデータ インジェストの信頼性を自動的に向上します。

サポートされているDatabricksの機能とバージョン

Customer Insights - Data 'minReaderVersion' が2以前のDatabricks機能をサポートします。 Databricks閲覧者 バージョン3以降を必要とするDatabricks機能はサポートされていません。 表には、サポートされているDatabricks機能とサポートされていない機能が表示されます。

サポートされている機能 サポートされていない機能
基本機能 削除ベクター
データフィードの変更 液体クラスタリング
チェック制約 テーブル機能書き込み
列マッピング タイムスタンプNTZ
列を生成する 型拡張
アイデンティティ列 バリアント
行追跡
表の特徴を読む
ユニフォーム

詳細: DatabricksはDelta Lakeの機能互換性をどのように管理しますか?

前提条件

  • Azure Data Lake Storage は、Customer Insights - Data と同じテナントおよび Azure リージョンに存在する必要があります。

  • Customer Insights - Data サービス プリンシパルは、ストレージ アカウントにアクセスするためのストレージ Blob データ コントリビューターの権限を持っている必要があります。 詳細については、ストレージ アカウントにアクセスするためのアクセス許可をサービス プリンシパルに付与するを参照してください。

  • データ ソース 接続を設定または更新するユーザーには、少なくとも Azure Data Lake Storage アカウントに対するストレージ BLOB データの閲覧権限が必要です。

  • オンライン サービスに保存されたデータは、データが処理または保存される場所とは異なる場所に保存される場合があります。 オンラインサービスに保存されたデータをインポートまたは接続することにより、ユーザーはデータが転送されることに同意するものとします。 詳細については、Microsoft Trust Centerをご覧ください

  • Customer Insights - Data は、Databricks リーダー バージョン 2 をサポートします。 Databricks リーダー バージョン 3 以上を必要とする機能を使用するデルタ テーブルはサポートされていません。 詳細: サポートされているDatabricks機能

  • Delta テーブルはストレージ コンテナー内のフォルダーに存在する必要があり、コンテナーのルート ディレクトリに存在することはできません。 例:

    storageaccountcontainer/
        DeltaDataRoot/
           ADeltaTable/
                 _delta_log/
                     0000.json
                     0001.json
                 part-0001-snappy.parquet
                 part-0002-snappy.parquet
    
  • Azure Data Lake Storage 内のデータは Delta テーブルである必要があります。 Customer Insights - Data テーブルの履歴内のバージョン プロパティに基づいて、増分処理の最新の変更を識別します。

Azure Data Lake Storage から Delta データに接続する

  1. データ>データ ソースにアクセスします。

  2. データ ソースの追加を選択します。

  3. Azure Data Lake デルタ テーブル を選択します。

    Delta Lake の接続の詳細を入力するダイアログボックス。

  4. データソース名とオプションの説明を入力します。 この名前はダウンストリーム プロセスで参照されるため、データ ソースの作成後は変更できません。

  5. ストレージの接続方法について、次のいずれかを選択します。

    • Azureサブスクリプション: 選択 で、 サブスクリプション を選択し、次に リソース グループストレージ アカウントを選択します。
    • Azureリソース: リソースID を入力します。
  6. オプションとして、Azure Private Link を介してストレージ アカウントからデータを取り込む場合は、プライベート リンクを有効にするを選択します。 詳しくは、Private Linkを確認してください

  7. データのフォルダーが含まれる コンテナ の名前を選択し、次へ を選択します。

  8. Delta テーブルのデータが含まれるフォルダーに移動し、選択します。 次へを選択します。 利用可能なすべてのテーブルの一覧が表示されます。

  9. 含めるテーブルを選択します。

  10. 主キーが定義されていない選択されたテーブルの場合、主キーの下に必須が表示されます。 各テーブルについて:

    1. 必須を選択します。 テーブルの編集パネルが表示されます。
    2. 主キーを選択します。 主キーは、テーブルに固有の属性です。 属性を有効な主キーにするには、重複する値、欠落している値、または null 値を含めないようにする必要があります。 文字列、整数、および GUID データ型属性が主キーとしてサポートされています。
    3. 閉じる を選択し、パネルを保存して閉じます。

    主キーが必要であることを示すダイアログ ボックス

  11. 任意の列でデータ プロファイリングを有効にするには、テーブルの 数を選択します。 属性の管理ページが表示されます。

    データ プロファイリングを選択するためのダイアログ ボックス。

    1. テーブル全体または特定の列に対して データ プロファイリング を選択します。 既定では、データ プロファイルが有効になっているテーブルはありません。
    2. 完了を選択します。
  12. 保存 を選びます。 データソース ページが開き、新しいデータソースが更新された状態で表示されます。

    ヒント

    タスクやプロセスの状態 があります。 ほとんどのプロセスは、データ ソースやデータ プロファイル更新 などの他の上流プロセスに依存しています。

    状態を選択して プロセス詳細 ペインを開き、タスクの進行状況を表示します。 ジョブをキャンセルするには、ペインの下部のジョブをキャンセルするを選択します

    各タスクの下で、処理時間、最終処理日、タスクまたはプロセスに関連する該当エラーや警告など、詳細な進捗情報について 詳細を表示 を選択します。 パネル下部のシステムの状態を見るを選択すると、システム内の他のプロセスを見ることができます。

データの読み込みには時間がかかる場合があります。 正常に最新の情報に更新したら、テーブル ページから取り込んだデータをレビューできます。

管理スキーマの変更

デルタ フォルダ データ ソースのスキーマに列が追加または削除されると、システムはデータの完全な更新を実行します。 完全更新は、増分更新よりもすべてのデータを処理するのに時間がかかります。

列の追加

列がデータ ソースに追加されると、更新発生時にその情報が Customer Insights - Data データに自動的に追加されます。 テーブルに対して統合がすでに構成されている場合は、新しい列を統合プロセスに追加する必要があります。

  1. 顧客データ ステップから、テーブルと列の選択 を選択し、新しい列を選択します。

  2. 統合データ ビュー ステップで、列が顧客プロファイルから除外されていないことを確認してください。 除外 を選択し、列を読み取ります。

  3. 統合プロファイルの更新を実行するステップで、顧客プロファイルと依存関係を統合するを選択します。

列の変更または削除

列がデータ ソースから削除されると、システムは他のプロセスの依存関係をチェックします。 列に依存関係がある場合、システムは更新を停止し、依存関係を削除する必要があることを示すエラーを表示します。 これらの依存関係は通知に表示され、依存関係を見つけて削除するのに役立ちます。

スキーマの変更を検証する

データ ソースの更新後、データ>テーブル ページに移動します。 データ ソースのテーブルを選択し、スキーマを確認します。

Delta Lake のタイム トラベルおよびデータ更新

Delta Lake のタイム トラベルは、タイムスタンプまたはバージョン番号に基づいてテーブル バージョンをクエリする機能です。 Delta フォルダーへの変更はバージョン管理され、Customer Insights - Data は、Delta フォルダーのバージョンを使用して、処理するデータを追跡します。 通常の差分テーブルの更新では、最後の更新以降のすべてのデータ テーブルのバージョンからデータが取得されます。 すべてのバージョンが存在する限り、Customer Insights - Data は変更された要素のみを処理し、より速く結果を提供できます。 タイムトラベルについてさらに詳しく学びましょう

たとえば、Customer Insights – Data が最後に Delta フォルダー データのバージョン 23 と同期した場合、バージョン 23 と、場合によってはそれ以降のバージョンが利用可能であることが期待されます。 必要なデータ バージョンが使用できない場合、データの同期は失敗し、手動によるデータの完全更新が必要です。 Delta フォルダーのデータを削除してから再作成した場合、データの同期が失敗する可能性があります。 または、Customer Insights - Data のバージョン更新に伴い、Delta フォルダーに長期間接続できなかった場合です。

データの完全更新の必要性を回避するために、15 日など、適切な履歴バックログを維持することをお勧めします。

Delta テーブル フォルダーでデータの完全更新を手動で実行する

完全更新は、差分フォーマットのテーブルからすべてのデータを取り出し、差分テーブルのバージョン ゼロ (0) からリロードします。 Delta フォルダー スキーマを変更すると、自動完全更新がトリガーされます。 次の手順を実行して、完全更新を手動でトリガーします。

  1. データ>データ ソースにアクセスします。

  2. Azure Data Lake デルタ テーブル データ ソース を選択します。

  3. 更新するテーブルを選択します。 テーブルの編集 ウインドウが表示されます。

    テーブル ペインを編集して、1 回限りの完全更新を選択します。

  4. 1 回限りの完全更新 を選択します。

  5. 保存 を選択して更新を実行します。 データ ソース ページが開き、データ ソースが 更新 ステータスになっていますが、選択したテーブルだけが更新されています。

  6. 該当する場合は、他のテーブルについてもこの手順を繰り返します。

データ同期の失敗

Delta フォルダーのデータを削除してから再作成した場合、データの同期が失敗する可能性があります。 または、Customer Insights - Data のバージョン更新に伴い、Delta フォルダーに長期間接続できなかった場合です。 間欠的なデータ パイプラインの失敗により完全更新が必要になった場合の影響を最小限に抑えるために、15 日などの適切な履歴バックログを維持することをお勧めします。

次の手順