Kafka Sink HDFS无法识别令牌

时间:2018-09-04 16:22:10

标签: apache-kafka apache-kafka-connect confluent

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

我具有以下属性(connect-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:由于串行化错误,无法将byte []转换为Kafka连接

     

...   引起原因:org.apache.kafka.commom.errors.SerlizationException:com.fasterxml.jackson.core.JsonParseException:无法识别的标记“ test”:在[来源:预期为null,true,false或NaN时(byte [])“ test”行:1列:11]

我的JSON有效。

我该如何解决?

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

{"key":"value"}

还是同样的错误。

谢谢。

1 个答案:

答案 0 :(得分:1)

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

如果只希望将文本数据导入HDFS,则可以使用String格式,但是不会进行Hive集成

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

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