変更データ キャプチャ リソースを使用して、スキーマの展開で変更されたデータを Azure SQL Database から Delta シンクにキャプチャする

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。

この記事では、Azure Data Factory ユーザー インターフェイスを使用して、変更データ キャプチャ (CDC) リソースを作成します。 リソースは、Azure SQL Database ソースから変更されたデータを取得し、リアルタイムで Azure Data Lake Storage Gen2 に格納されている Delta Lake に追加します。 このアクティビティでは、ソースとシンクの間で CDC リソースを使用して、スキーマの展開のサポートを紹介します。

この記事では、次のことについて説明します。

  • CDC リソースを作成します。
  • ソース テーブルに動的スキーマの変更を加えます。
  • ターゲット Delta シンクでスキーマの変更を検証します。

この記事では、構成パターンを変更および展開できます。

前提条件

この記事の手順を実行する前に、次のリソースがあることを確認してください。

  • Azure サブスクリプション。 Azure のサブスクリプションがない場合は、Azure の無料アカウントを作成します。
  • SQL データベース。 ソース データ ストアとして Azure SQL Database を使用します。 SQL データベースがない場合は、Azure portal に作成します。
  • ストレージ アカウント。 Azure Data Lake Storage Gen2 に格納されている Delta Lake をターゲット データ ストアとして使用します。 ストレージ アカウントがない場合の作成手順については、「ストレージ アカウントの作成」を参照してください。

CDC 成果物を作成する

  1. データ ファクトリの [作成者] ペインに移動します。 [パイプライン] の下に、[変更データ キャプチャ (プレビュー)] という新しい最上位レベルの成果物が表示されます。

    Screenshot of a new top-level artifact for change data capture on the Factory Resources pane.

  2. 3 つのドットが表示されるまで、変更データ キャプチャ (プレビュー) の上にカーソルを合わせます。 その後、[Change Data Capture (preview) Actions] (変更データ キャプチャ (プレビュー) アクション) を選択します。

    Screenshot of the button for change data capture actions appearing over the new top-level artifact.

  3. [New CDC (preview)](新しい CDC (プレビュー)) を選択します。 これにより、ガイド付きプロセスを開始するためのポップアップが開きます。

    Screenshot of a list of change data capture actions.

  4. CDC リソースの名前を指定するように求められます。 既定では、名前は "adfcdc" で、数値は 1 ずつ増加します。 この既定の名前は、選択した名前に置き換えることができます。

    Screenshot of the text box to update the name of a resource.

  5. ドロップダウン リストを使用して、データ ソースを選択します。 この記事では、[Azure SQL Database] を選択します。

    Screenshot of the guided process flyout with source options in a dropdown list.

  6. リンク サービスを選択するように求められます。 新しいリンク サービスを作成するか、既存のものを選択します。

    Screenshot of the box to choose or create a linked service.

  7. リンク サービスを選択すると、ソース テーブルを選択するように求められます。 チェック ボックスを使用してソース テーブルを選択し、ドロップダウン リストを使用して [増分列] の値を選択します。

    Screenshot that shows selection of a source table and an incremental column.

    ペインには、増分列データ型がサポートされているテーブルのみが一覧表示されます。

    Note

    Azure SQL Database ソースでスキーマの展開を含む CDC を有効にするには、ネイティブ SQL CDC が有効になっているテーブルではなく、透かし列に基づいてテーブルを選択します。

  8. ソース テーブルを選択したら、[続行] を選択してデータ ターゲットを設定します。

    Screenshot of the Continue button in the guided process to select a data target.

  9. 候補リストを使用して、[ターゲットの種類] の値を選択します。 この記事では、「Delta」を選択します。

    Screenshot of a dropdown menu of all data target types.

  10. リンク サービスを選択するように求められます。 新しいリンク サービスを作成するか、既存のものを選択します。

    Screenshot of the box to choose or create a linked service to your data target.

  11. ターゲット データ フォルダーを選択します。 以下のいずれかを使用できます。

    • [ターゲットのベース パス] の下にある [参照] ボタン。これは、ソースに対して選択されたすべての新しいテーブルの参照パスを自動的に設定するのに役立ちます。
    • 外側の [参照] ボタンを選択して、フォルダー パスを個別に選択します。

    Screenshot of a folder icon to browse for a folder path.

  12. フォルダー パスを選択したら、[続行] ボタンを選択します。

    Screenshot of the Continue button in the guided process to proceed to the next step.

  13. 変更データをキャプチャするための新しいタブが表示されます。 このタブは CDC Studio で、新しいリソースを構成できます。

    Screenshot of the change data capture studio.

    新しいマッピングが自動的に作成されます。 候補リストを使用して、マッピングのソース テーブルターゲット テーブルの選択を更新できます。

    Screenshot of the source-to-target mapping in the change data capture studio.

  14. テーブルを選択すると、列は既定でマップされ、[自動マップ] トグルがオンになります。 自動マップでは、シンク内の名前によって列が自動的にマッピングされ、ソース スキーマが展開したときに新しい列の変更が取得され、サポートされているシンクの種類にこの情報が送られます。

    Screenshot of the toggle for automatic mapping turned on.

    Note

    スキーマの展開は、[自動マップ] トグルがオンになっている場合にのみ機能します。 列マッピングを編集する方法や変換を含める方法を知りたい場合は、「変更データ キャプチャ リソースを使用して変更されたデータをキャプチャする」を参照してください。

  15. [キー] リンクを選択し、削除操作の追跡に使用するキー列を選択します。

    Screenshot of the link to enable Keys column selection.

    Screenshot of selecting a Keys column for the selected source.

  16. マッピングが完了したら、[Set Latency] (待機時間の設定) ボタンを使用して CDC の待機時間を設定します。

    Screenshot of the Set Latency button at the top of the canvas.

  17. CDC の待機時間を選択し、[適用] を選択して変更を行います。

    既定では、待機時間は 15 分に設定されています。 この記事の例では、待機時間に [リアルタイム] オプションを使用します。 リアルタイムの待機時間は、ソース データの変更を 1 分未満の間隔で継続的に取得し続けます。

    その他の待機時間 (たとえば、15 分を選択した場合)、変更データ キャプチャでソース データが処理され、最後に処理された時刻以降に変更されたデータが取得されます。

    Screenshot of the options for setting latency.

  18. CDC の構成が完了したら、[すべてを公開] を選択して変更を公開します。

    Screenshot of the publish button at the top of the canvas.

    Note

    変更を公開しない場合、CDC リソースを開始できません。 次の手順の [開始] ボタンは使用できなくなります。

  19. [開始] を選択して、変更データ キャプチャの実行を開始します。

    Screenshot of the Start button at the top of the canvas.

変更データ キャプチャが実行されたので、次のことができます。

  • 監視ページを使用して、読み取りおよび書き込まれた変更 (挿入、更新、削除) の数とその他の診断情報を確認します。

    Screenshot of the monitoring page of a selected change data capture.

    Screenshot of the monitoring page of a selected change data capture with a detailed view.

  • 変更データが Delta 形式で Azure Data Lake Storage Gen2 に格納されている Delta Lake に到着したことを検証します。

    Screenshot of a target Delta folder.

  • 到着した変更データのスキーマを検証します。

    Screenshot of a Delta file.

ソース テーブルに対して動的なスキーマ レベルの変更を行う

  1. 次の例に示すように、ALTER TABLET-SQL ステートメントを使用して、ソース テーブルに新しい PersonalEmail 列を追加します。

    Screenshot of the ALTER command in Azure Data Studio.

  2. 新しい PersonalEmail 列が既存のテーブルに表示されることを確認します。

    Screenshot of a new table design with a column added for personal email.

Delta シンクでスキーマの変更を検証します

新しい列 PersonalEmail が Delta シンクに表示されることを確認します。 スキーマの変更を含む変更データがターゲットに到着したことがわかります。

Screenshot of a Delta file with a schema change.