変更データ キャプチャ リソースを使用して、スキーマの展開で変更されたデータを 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 成果物を作成する
データ ファクトリの [作成者] ペインに移動します。 [パイプライン] の下に、[変更データ キャプチャ (プレビュー)] という新しい最上位レベルの成果物が表示されます。
3 つのドットが表示されるまで、変更データ キャプチャ (プレビュー) の上にカーソルを合わせます。 その後、[Change Data Capture (preview) Actions] (変更データ キャプチャ (プレビュー) アクション) を選択します。
[New CDC (preview)](新しい CDC (プレビュー)) を選択します。 これにより、ガイド付きプロセスを開始するためのポップアップが開きます。
CDC リソースの名前を指定するように求められます。 既定では、名前は "adfcdc" で、数値は 1 ずつ増加します。 この既定の名前は、選択した名前に置き換えることができます。
ドロップダウン リストを使用して、データ ソースを選択します。 この記事では、[Azure SQL Database] を選択します。
リンク サービスを選択するように求められます。 新しいリンク サービスを作成するか、既存のものを選択します。
リンク サービスを選択すると、ソース テーブルを選択するように求められます。 チェック ボックスを使用してソース テーブルを選択し、ドロップダウン リストを使用して [増分列] の値を選択します。
ペインには、増分列データ型がサポートされているテーブルのみが一覧表示されます。
Note
Azure SQL Database ソースでスキーマの展開を含む CDC を有効にするには、ネイティブ SQL CDC が有効になっているテーブルではなく、透かし列に基づいてテーブルを選択します。
ソース テーブルを選択したら、[続行] を選択してデータ ターゲットを設定します。
候補リストを使用して、[ターゲットの種類] の値を選択します。 この記事では、「Delta」を選択します。
リンク サービスを選択するように求められます。 新しいリンク サービスを作成するか、既存のものを選択します。
ターゲット データ フォルダーを選択します。 以下のいずれかを使用できます。
- [ターゲットのベース パス] の下にある [参照] ボタン。これは、ソースに対して選択されたすべての新しいテーブルの参照パスを自動的に設定するのに役立ちます。
- 外側の [参照] ボタンを選択して、フォルダー パスを個別に選択します。
フォルダー パスを選択したら、[続行] ボタンを選択します。
変更データをキャプチャするための新しいタブが表示されます。 このタブは CDC Studio で、新しいリソースを構成できます。
新しいマッピングが自動的に作成されます。 候補リストを使用して、マッピングのソース テーブルとターゲット テーブルの選択を更新できます。
テーブルを選択すると、列は既定でマップされ、[自動マップ] トグルがオンになります。 自動マップでは、シンク内の名前によって列が自動的にマッピングされ、ソース スキーマが展開したときに新しい列の変更が取得され、サポートされているシンクの種類にこの情報が送られます。
Note
スキーマの展開は、[自動マップ] トグルがオンになっている場合にのみ機能します。 列マッピングを編集する方法や変換を含める方法を知りたい場合は、「変更データ キャプチャ リソースを使用して変更されたデータをキャプチャする」を参照してください。
[キー] リンクを選択し、削除操作の追跡に使用するキー列を選択します。
マッピングが完了したら、[Set Latency] (待機時間の設定) ボタンを使用して CDC の待機時間を設定します。
CDC の待機時間を選択し、[適用] を選択して変更を行います。
既定では、待機時間は 15 分に設定されています。 この記事の例では、待機時間に [リアルタイム] オプションを使用します。 リアルタイムの待機時間は、ソース データの変更を 1 分未満の間隔で継続的に取得し続けます。
その他の待機時間 (たとえば、15 分を選択した場合)、変更データ キャプチャでソース データが処理され、最後に処理された時刻以降に変更されたデータが取得されます。
CDC の構成が完了したら、[すべてを公開] を選択して変更を公開します。
Note
変更を公開しない場合、CDC リソースを開始できません。 次の手順の [開始] ボタンは使用できなくなります。
[開始] を選択して、変更データ キャプチャの実行を開始します。
変更データ キャプチャが実行されたので、次のことができます。
監視ページを使用して、読み取りおよび書き込まれた変更 (挿入、更新、削除) の数とその他の診断情報を確認します。
変更データが Delta 形式で Azure Data Lake Storage Gen2 に格納されている Delta Lake に到着したことを検証します。
到着した変更データのスキーマを検証します。
ソース テーブルに対して動的なスキーマ レベルの変更を行う
次の例に示すように、
ALTER TABLE
T-SQL ステートメントを使用して、ソース テーブルに新しい PersonalEmail 列を追加します。新しい PersonalEmail 列が既存のテーブルに表示されることを確認します。
Delta シンクでスキーマの変更を検証します
新しい列 PersonalEmail が Delta シンクに表示されることを確認します。 スキーマの変更を含む変更データがターゲットに到着したことがわかります。