8.2. Debezium 変更イベントからのソースレコード after 状態の抽出


Debezium データ変更イベントには、多くの情報を提供する複雑な構造があります。Debezium 変更イベントを実行する Kafka レコードには、このすべての情報が含まれます。ただし、Kafka エコシステムの一部は、フィールド名と値のフラット構造を提供する Kafka レコードを想定する可能性があります。このようなレコードを提供するために、Debezium は ExtractNewRecordState 単一のメッセージ変換(SMT)を提供します。Debezium 変更イベントが含まれる Kafka レコードよりも単純なフォーマットを持つ Kafka レコードが必要な場合に、この変換を設定します。

ExtractNewRecordState 変換は Kafka Connect SMT です。

この変換は SQL データベースコネクターのみで利用できます。

詳細は以下のトピックを参照してください。

8.2.1. Debezium 変更イベント構造の説明

Debezium は、複雑な構造を持つデータ変更イベントを生成します。各イベントは、以下の 3 つの部分で構成されます。

  • メタデータ。これには以下が含まれますが、これに限定されません。

    • 変更後の操作
    • 変更が行われたデータベース名やテーブル名などのソース情報
    • 変更が行われた時点のタイムスタンプ
    • オプションのトランザクション情報
  • 変更前の行データ
  • 変更後の行データ

たとえば、UPDATE 変更イベントの構造は以下のようになります。

{
	"op": "u",
	"source": {
		...
	},
	"ts_ms" : "...",
	"before" : {
		"field1" : "oldvalue1",
		"field2" : "oldvalue2"
	},
	"after" : {
		"field1" : "newvalue1",
		"field2" : "newvalue2"
	}
}

この複雑な形式は、システムで発生する変更に関する最も重要な情報を提供します。ただし、Kafka エコシステムに他のコネクターまたはその他の部分では、以下のような単純な形式でデータが想定されます。

{
	"field1" : "newvalue1",
	"field2" : "newvalue2"
}

コンシューマーに必要な Kafka レコード形式を提供するには、ExtractNewRecordState SMT を設定します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.