Kafka Sink HDFS 无法识别的令牌

Kafka Sink HDFS Unrecognized token

我正在尝试使用 Kafka HDFS Sink 写入 JSON。

我有以下属性(连接-standalone.properties):

key.converter.schemas.enable = false
value.converter.schemas.enable = false
schemas.enable=false
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter

在我的属性上:

format.class=io.confluent.connect.hdfs.json.JsonFormat

我遇到了以下异常:

org.apache.kafka.connect.errors.DataException: Converting byte[] to Kafka connect failed due to serilization error

... Caused By: org.apache.kafka.commom.errors.SerlizationException: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'test' : was expecting 'null', 'true', 'false' or NaN at [Source: (byte[])"test" line: 1 column: 11]

我的JSON有效。

请问如何解决?

*我也在尝试使用示例 JSON,例如:

{"key":"value"}

还是一样的错误。

谢谢。

根据错误,主题中并非所有消息实际上都是 JSON 个对象。 最新消息 可能有效,或者 Kafka 值可能有效(但不是键),但错误表明它试图读取纯字符串,(byte[])"test" ,这是无效的

如果您只想将文本数据存入 HDFS,您可以使用字符串格式,但不会集成 Hive

format.class=io.confluent.connect.hdfs.string.StringFormat

如果您确实想以这种格式使用 Hive,则需要自己定义 JSON Serde