メイン コンテンツをスキップする 補完的コンテンツへスキップ

メタデータとデータ メッセージ

このトピックでは、Kafka ターゲット コネクタ によって生成されるメタデータとデータ メッセージの構造と内容について説明します。

メタデータ メッセージ

メタデータ メッセージ
項目 タイプ 説明
schemaId String Avro スキーマの一意の識別子。
lineage Structure データの出所に関する情報 (Qlik Talend Data Integration サーバー、タスク、テーブルなど)

server

String Qlik Talend Data Integration サーバーの名前。

task

String タスクの名前。

schema (Schema Name)

String データベース スキーマの名前。

table (Table Name)

String テーブルの名前。

tableVersion

Integer Qlik Talend Data Integration は、ソース テーブルの構造のバージョン番号を管理します。ソースで DDL が変更されると、バージョンが増加し、新しいメタデータ メッセージが生成されます。

timestamp

String メタデータ メッセージの日時。
tableStructure Structure テーブルの構造について説明します。

tableColumns

Structure 列とそのプロパティのリストが含まれます。

{columns}

Structure 各列には、以下のプロパティを持つレコードがあります。

ordinal

Integer レコードの列の位置。

タイプ

String 列のデータ型。

length

Integer 列に許可されるデータの最大サイズ (バイト単位)。

precision

Integer NUMERIC データ タイプの場合、値を表すために必要な最大桁数。

scale

Integer NUMERIC データ タイプの場合、数値に許可される小数点の右側の最大桁数。

primaryKeyPosition

Integer テーブルのプライマリ キーまたは一意のインデックスの列の位置。列がテーブルのプライマリ キーの一部ではない場合、値はゼロになります。
dataSchema String データ メッセージを逆シリアル化するための Avro スキーマ。

データ メッセージ

データ メッセージ
項目 タイプ 説明
schema (name) String レプリケートされたソース テーブルを含むソース データベース スキーマの名前。
table (name) String ソース テーブルの名前。

headers

Structure 現在のレコードに関する情報。

operation (Operation)

Enum 操作の種類。

フル ロード - ソース データのターゲット トピックへの初期ロード

REFRESH - フル ロード中のターゲットへのレコードの挿入

CDC - ソース テーブルの変更を関連するトピックに適用

INSERT - 新しいターゲット レコードの挿入

UPDATE - 既存のターゲット レコードの更新

DELETE - ターゲット レコードの削除

changeSequence (Change Sequence)

String

タスクのすべての変更テーブルに共通の、単調に増加する変更シーケンス。

この項目を使用して、レコードを時系列順に並べます。

CDC 操作にのみ適用されます。

timestamp (Timestamp)

String

元の変更の UTC タイムスタンプ。

CDC 操作にのみ適用されます。

streamPosition

String

ソース CDC ストリームの位置。

CDC 操作にのみ適用されます。

transactionId (Transaction ID)

String

変更レコードが属するトランザクションの ID。

この項目を使用して、特定のトランザクションのすべての変更を収集します。

CDC 操作にのみ適用されます。

changeMask (Change Mask)

String

ソース テーブルで変更されたデータ列を示します。

変更マスクは 16 進数の文字列で、リトルエンディアン順序でデータ列のビットマスクを表します。変更マスク内のビット位置は、そのテーブルのメタデータ メッセージにおける列の序数に基づきます。

つまり、データ列が 10 個ある場合、それらはビットマスクのビット 0 ~ 9 を占めます。

UPDATEマスクが 16 進数で 0B (2 進数で 1011) の場合、序数が 1、2、4 の列が変更されたことを意味します。

ビットのセマンティクスの説明は次のとおりです。

  • INSERT レコードの場合、挿入されたすべての列に関連するビットが設定されます。
  • DELETE レコードの場合、プライマリ キー (または一意のインデックス) 列にのみ関連ビットが設定されます。これにより、アプライヤーは、別のソースからプライマリ キー項目を見つけなくても DELETE ステートメントを構築できます。
  • UPDATEレコードの場合、値が変更された各列に対応するビットが設定されます。
情報メモ

LOB 列は changeMask ビットには含まれません。

columnMask (Column Mask)

String

メッセージに含まれるデータ列を示します。通常、これにはテーブルのすべての列が含まれます。

情報メモ

完全な補足ログなしで Oracle ソースから移動する場合、一部の列は移動済みできなかったため、データに存在しない可能性があります。

列マスクは 16 進数の文字列で、リトルエンディアン順序でデータ列のビットマスクを表します。列マスク内のビット位置は、そのテーブルのメタデータ メッセージにおける列の序数に基づきます。

これにより、アプライアは、列の実際の値である NULL 値と、ソース データベースから移動済みできなかった列を表す NULL 値を区別できます。

externalSchemaId

String

スキーマ ID。これは、 [外部スキーマ IDヘッダーを含める] チェックボックスが選択されている場合にのみ表示されます。

ソース テーブルで DDL が実行されるたびにスキーマ ID が変更されるため、コンシューマー アプリケーションはこの情報を使用して、メッセージ スキーマが変更されたかどうかを判断できます。

transactionEventCounter (Transaction Event Counter)

Long

トランザクション内の現在の操作のシーケンス番号。

これを使用して、トランザクション内の操作の順序を決定できます。

transactionLastEvent (Transaction Last Event)

Boolean

「True」はトランザクションの最後のレコードであることを示します。一方、「False」はすべてのレコードが処理されていないことを示します。

data

Structure テーブル レコードのデータ

{columns}

  現在のレコードの列名と値。

beforeData

Structure 変更前のテーブル レコードのデータ

{columns}

 

変更前の列名と値。

UPDATE 操作に適用されます。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。