KcopJsonFormatIntegrated Kafka カスタム操作プロセッサーを使用して、レコードを JSON フォーマットで書き込むことができます。
このタスクについて
この KCOP を使用して、Avro Kafka プロデューサー・レコードの JSON エンコードされたキー・フィールドと値フィールドに、ソース操作を複製できます。 この KCOP はスキーマ・レジストリーに接続しません。 トピック名には「-json」が付加されます。 シリアライズに JsonEncoder ライブラリーを使用すれば、スキーマ・レジストリーは不要であるため、特殊なデシリアライザーまたはスキーマ・レジストリーを持つコンシューマーを使用することなく、Apache Kafka のどのようなインストール済み環境も複製ターゲットにできます。 詳しくは、 Javadoc 形式の API リファレンスを参照してください。
- 管理コンソールで、 をクリックします。
- 登録を選択します。
- サブスクリプションを右クリックして、 Kafka 「プロパティー」を選択します。
- Zookeeper が Kafka アプライのメソッドとして選択されていることを確認します。
- 「OK」をクリックします。
- サブスクリプションを右クリックして、 「ユーザー出口」を選択します。
- 以下のフィールドに値を入力します。
- クラス名
- com.datamirror.ts.target.publication.userexit.sample.kafka.KcopJsonFormatIntegrated
- パラメーター
[-file:full_path_to_filename]
規則 CDC_Kafka_installation_directory/conf/filename.propertiesを使用することもできます。
- 「OK」をクリックします。
出力例
$ db2 "insert into tab1 values (8,8,8, 'Tab1 data')"
DB20000I The SQL command completed successfully.
$ db2 "update tab1 set I1 = 9, I2 = 9 where I1 = 8"
DB20000I The SQL command completed successfully.
$ db2 "delete from tab1 where I1 = 9"
DB20000I The SQL command completed successfully.
Kafka 提供のコンシューマーを使用してレコードを読み取る
kafka-console-consumer --zookeeper hostname:port --property print.key=true --topic topic name-json --from-beginning
{"I2":8,"I3":8} {"I1":8,"I2":8,"I3":8,"V1":{"string":"Tab1 data"}}
{"I2":8,"I3":8} null
{"I2":9,"I3":8} {"I1":9,"I2":9,"I3":8,"V1":{"string":"Tab1 data"}}
{"I2":9,"I3":8} null