次の方法で共有


変更データ キャプチャ リソースを使用して、スキーマの展開で変更されたデータを 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. データ ファクトリの [作成者] ペインに移動します。 [パイプライン] の下に、[変更データ キャプチャ (プレビュー)] という新しい最上位レベルの成果物が表示されます。

    [ファクトリのリソース] ペインに表示される変更データ キャプチャに対する新しい最上位レベルの成果物のスクリーンショット。

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

    新しい最上位レベルの成果物上に表示される変更データ キャプチャ アクション ボタンのスクリーンショット。

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

    変更データ キャプチャのアクションの一覧を示すスクリーンショット。

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

    リソースの名前を更新するためのテキスト ボックスのスクリーンショット。

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

    候補リストにソース オプションが表示された、ガイド付きプロセスのポップアップのスクリーンショット。

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

    リンク サービスを選択または新規作成するためのボックスのスクリーンショット。

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

    ソース テーブルと増分列の選択を示すスクリーンショット。

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

    Note

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

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

    データ ターゲットの選択に進む、ガイド付きプロセスの [続行] ボタンのスクリーンショット。

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

    すべてのデータ ターゲットの種類を示すドロップダウン メニューのスクリーンショット。

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

    データ ターゲットへのリンク サービスを選択または新規作成するためのボックスのスクリーンショット。

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

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

    フォルダー パスを参照するためのフォルダー アイコンのスクリーンショット。

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

    次の手順に進む、ガイド付きプロセスの [続行] ボタンのスクリーンショット。

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

    変更データ キャプチャ スタジオのスクリーンショット。

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

    変更データ キャプチャ スタジオのソースとターゲットのマッピングのスクリーンショット。

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

    自動マップを有効にするトグルのスクリーンショット。

    Note

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

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

    キー列選択を有効にするリンクのスクリーンショット。

    選択したソースのキー列選択のスクリーンショット。

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

    キャンバスの上部にある [Set Latency] (待機時間の設定) ボタンのスクリーンショット。

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

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

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

    待機時間を設定するためのオプションのスクリーンショット。

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

    キャンバスの上部にある公開ボタンのスクリーンショット。

    Note

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

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

    キャンバスの上部にある [開始] ボタンのスクリーンショット。

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

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

    選択した変更データ キャプチャの監視ページのスクリーンショット。

    選択した変更データ キャプチャの監視ページ (詳細表示付き) のスクリーンショット。

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

    ターゲット Delta フォルダーのスクリーンショット。

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

    Delta ファイルのスクリーンショット。

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

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

    Azure Data Studio の ALTER コマンドのスクリーンショット。

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

    個人用メールアドレスに対して追加された列をもつ新しいテーブル デザインのスクリーンショット。

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

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

スキーマを変更した Delta ファイルのスクリーンショット。