【发布时间】:2020-06-03 09:38:21
【问题描述】:
我有一个从 IBM 大型机 IIDR 向 Kafka 主题发送记录的流程。进入 Kafka 主题的消息的value_format 是 AVRO,密钥也是 AVRO 格式。记录被推送到 Kafka 主题中。我有一个与该主题相关的流。但是记录不会传递到流中。
test_iidr 主题示例 -
rowtime: 5/30/20 7:06:34 PM UTC, key: {"col1": "A", "col2": 1}, value: {"col1": "A", "col2": 11, "col3": 2, "iidr_tran_type": "QQ", "iidr_a_ccid": "0", "iidr_a_user": " ", "iidr_src_upd_ts": "2020-05-30 07:06:33.262931000", "iidr_a_member": " "}
流中的 value_format 是 AVRO 并且列名都被检查。
流创建查询 -
CREATE STREAM test_iidr (
col1 STRING,
col2 DECIMAL(2,0),
col3 DECIMAL(1,0),
iidr_tran_type STRING,
iidr_a_ccid STRING,
iidr_a_user STRING,
iidr_src_upd_ts STRING,
iidr_a_member STRING)
WITH (KAFKA_TOPIC='test_iidr', PARTITIONS=1, REPLICAS=3, VALUE_FORMAT='AVRO');
由于KEY 未在WITH 语句中提及,因此无法从主题加载到流中?
模式注册表中注册了 test_iidr-value 和 test_iidr-key 主题。
Kafka-connect 泊坞窗中的 key.converter 和 value.converter 设置为 - org.apache.kafka.connect.json.JsonConverter。这是JsonConverter 创建这个问题吗?
我用不同的流创建了一个完全不同的管道,并使用insert into 语句手动插入了相同的数据。有效。只有 IIDR 流不起作用,并且记录没有从主题推送到流中。
我正在使用 Confluent kafka 5.5.0 版。
【问题讨论】:
-
问题已解决。看起来由于 DECIMAL 和 INT 存在反序列化错误。源正在发送 INT 值,我们将 DECIMAL 作为数据类型。
标签: ksqldb confluent-platform kafka-topic