Hi, I'm Ask INFA!
What would you like to know?
ASK INFAPreview
Please to access Ask INFA.

目次

Search

  1. はじめに
  2. アプリケーション取り込みとレプリケーション

アプリケーション取り込みとレプリケーション

アプリケーション取り込みとレプリケーション

Amazon S3、Google Cloud Storage、およびMicrosoft Azure Data Lake Storage Gen2、およびMicrosoft Fabric OneLakeターゲット上のCDCファイルのデフォルトのディレクトリ構造

Amazon S3、Google Cloud Storage、およびMicrosoft Azure Data Lake Storage Gen2、およびMicrosoft Fabric OneLakeターゲット上のCDCファイルのデフォルトのディレクトリ構造

アプリケーション取り込みとレプリケーション
ジョブは、Amazon S3、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、およびMicrosoft Fabric OneLakeターゲットにディレクトリを作成して、変更データ処理に関する情報を格納します。
次のディレクトリ構造がデフォルトでターゲットに作成されます。
Bucket └───
connection_folder
└───
job_folder
├───cycle │ ├───Completed │ │ ├───
completed_cycle_folder
│ │ │ └───Cycle-
timestamp
.csv │ │ │ ... │ │ └───
completed_cycle_folder
│ │ └───Cycle-
timestamp
.csv │ └───Contents │ ├───
cycle_folder
│ │ └───Cycle-contents-
timestamp
.csv │ │ ... │ └───
cycle_folder
│ └───Cycle-contents-
timestamp
.csv └───data └───
object_name
├───Data │ ├───
cycle_folder
│ │ └───
object_name
_
timestamp
.csv │ │ ... │ └───
cycle_folder
│ └───
object_name
_
timestamp
.csv └───Schema └───V1 └───
object_name
.schema
次の表に、デフォルト構造に含まれるディレクトリを示します。
フォルダ
説明
connection_folder
アプリケーション取り込みとレプリケーション
オブジェクトが含まれています。このフォルダは、Amazon S3接続プロパティの
[フォルダパス]
フィールド、Microsoft Azure Data Lake Storage Gen2接続プロパティの
[ディレクトリパス]
フィールド、またはMicrosoft Fabric OneLake接続プロパティの
[レイクハウスパス]
フィールドで指定されています。
このフォルダは、Google Cloud Storageターゲット用には作成されていません。
job_folder
ジョブ出力ファイルが含まれています。このフォルダは、
アプリケーション取り込みとレプリケーション
タスクウィザードの
[ターゲット]
ページの
[ディレクトリ]
フィールドで指定されています。
cycle/Completed
各完了CDCサイクルのサブフォルダが含まれています。各サイクルサブフォルダには、完了サイクルファイルが含まれています。
cycle/Contents
各CDCサイクルのサブフォルダが含まれます。各サイクルサブフォルダには、サイクルコンテンツファイルが含まれています。
data
各オブジェクトの出力データファイルとスキーマファイルが含まれています。
data/
object_name
/Schema/V1
スキーマファイルが含まれています。
出力ファイルがParquet形式を使用している場合、
アプリケーション取り込みとレプリケーション
はスキーマファイルをこのフォルダに保存しません。
data/
object_name
/Data
出力データファイルを生成する各CDCサイクルのサブフォルダが含まれています。

サイクルディレクトリ

アプリケーション取り込みとレプリケーション
は、次のパターンを使用してサイクルディレクトリに名前を付けます。
[dt=]
yyyy
-
mm
-
dd
-
hh
-
mm
-
ss
アプリケーション取り込みとレプリケーション
タスクウィザードの
[ターゲット]
ページの
[ディレクトリタグの追加]
チェックボックスを選択すると、サイクルフォルダ名に「dt=」プレフィックスが追加されます。

サイクルコンテンツファイル

サイクルコンテンツファイルはcycle/Contents/
cycle_folder
サブディレクトリにあります。サイクルコンテンツファイルには、サイクル中にDMLイベントが発生した各オブジェクトのレコードが含まれています。サイクル内のオブジェクトでDML操作が発生しなかった場合、そのオブジェクトはサイクルコンテンツファイルに表示されません。
アプリケーション取り込みとレプリケーション
は、次のパターンを使用してサイクルコンテンツファイルに名前を付けます。
Cycle-contents-
timestamp
.csv
サイクルコンテンツのcsvファイルには、次の情報が含まれています。
  • オブジェクト名
  • サイクル名
  • オブジェクトのサイクルフォルダへのパス
  • オブジェクトの開始シーケンス
  • オブジェクトの終了シーケンス
  • 挿入操作の数
  • 更新操作の数
  • 削除操作の数
  • ロードジョブの組み合わせのみ
    。初期ロードフェーズ中に発生した挿入操作の数
  • ロードジョブの組み合わせのみ
    。初期ロードフェーズ中に発生した削除操作の数
  • スキーマバージョン
  • スキーマバージョンのスキーマファイルへのパス
    出力データファイルがParquet形式を使用している場合、
    アプリケーション取り込みとレプリケーション
    は、サイクルコンテンツファイルで指定されたパスにスキーマファイルを保存しません。代わりに、
    アプリケーション取り込みとレプリケーション
    タスクウィザードの
    [ターゲット]
    ページの
    [Avroスキーマディレクトリ]
    フィールドで指定されているフォルダ内のスキーマファイルを使用します。

完了サイクルファイル

完了サイクルファイルはcycle/Completed/
completed_cycle_folder
サブディレクトリにあります。
アプリケーション取り込みとレプリケーション
ジョブは、サイクルが完了した後、このサブディレクトリにサイクルファイルを作成します。このファイルが存在しない場合、サイクルはまだ完了していません。
アプリケーション取り込みとレプリケーション
は、次のパターンを使用して完了サイクルファイルに名前を付けます。
Cycle-
timestamp
.csv
完了サイクルのcsvファイルには、次の情報が含まれています。
  • サイクル名
  • サイクル開始時刻
  • サイクル終了時刻
  • サイクル終了時の現在のシーケンス番号
  • サイクルコンテンツファイルへのパス
  • サイクル終了の理由
    有効な理由の値は、以下のとおりです。
    • NORMAL_COMMIT
      .サイクルがDML制限に達した後、またはサイクル間隔の終了後に、コミット操作が発生しました。サイクルはコミット境界でのみ終了できます。
    • NORMAL_EXPIRY
      。サイクル間隔が経過したため、サイクルが終了しました。最後の操作はコミットでした。
    • ロードジョブの組み合わせのみ:
      BACKLOG_COMPLETED
      。CDCバックログ処理が完了したため、サイクルが終了しました。CDCバックログは、ジョブの組み合わせの初期ロードフェーズ中にキャプチャされたイベントで構成されます。バックログには、初期ロードフェーズの開始時または終了時、および初期ロードフェーズからメインのCDC増分処理への移行中にキャプチャされた可能性のあるDML変更が含まれます。
    • ロードジョブの組み合わせのみ:
      INITIAL_LOAD_COMPLETED
      。初期ロードが完了したため、サイクルが終了しました。
    • ロードジョブの組み合わせのみ:
      RESYNC_STARTED
      。オブジェクトの再同期が開始されたため、サイクルが終了しました。

出力データファイル

データファイルには、次の情報を含むレコードが含まれています。
  • 操作タイプ。有効な値は以下のとおりです。
    • I
      : 挿入操作
    • E
      : 更新操作
    • D
      : 削除操作
    • ロードジョブの組み合わせのみ:
      X
      : ロードジョブの組み合わせの初期ロードフェーズ中に発生した削除操作
    • ロードジョブの組み合わせのみ:
      Y
      : ロードジョブの組み合わせの初期ロードフェーズ中に発生した挿入操作
  • ソート可能なシーケンス番号。初期ロードジョブと増分ロードジョブの組み合わせでは、ソート可能なシーケンス番号には20桁のプレフィックスが含まれており、これを使用して行を再同期バージョンおよびロードジョブに合わせることができます。プレフィックスは次の属性を組み合わせたものです。
    1. インカネーション。この9桁の数字は、オブジェクトが再同期されるたびに増加します。初期値は1です。
    2. スキーマバージョン。この9桁の数字は、オブジェクトにスキーマドリフトの変更がプロパゲートされるたびに増加します。初期値は1です。
    3. フェーズ。この2桁の数字は、アンロードからバックログ、CDCへの移行が実行されると変化します。有効な値は以下のとおりです。
      • 00
        : 切り詰め(初期ロードまたは再同期中に最初に書き込まれたデータレコード)
      • 01
        : 初期ロードまたは再同期中の通常の挿入
      • 02
        : 初期ロード中に検出された変更
      • 03
        : 初期ロードまたは再同期が完了した後、メインのCDCフェーズに戻る前に検出された変更
      • 04
        : 通常のCDCフェーズで検出された変更
  • データフィールド
    レコードの挿入と削除には、操作後のイメージのみが含まれています。レコードの更新には、更新前後のイメージが含まれています。