Kafka Connect HDFS 接收器连接器出现故障



我正在尝试使用Kafka连接接收器将文件从Kafka写入HDFS。

我的属性如下所示:

connector.class=io.confluent.connect.hdfs.HdfsSinkConnector
flush.size=3
format.class=io.confluent.connect.hdfs.parquet.ParquetFormat
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
schema.compatability=BACKWARD
key.converter.schemas.enabled=false
value.converter.schemas.enabled=false
schemas.enable=false

当我尝试运行连接器时,我遇到了以下异常:

org.apache.kafka.connect.errors.DataException:带有schemas.enable的JsonConverter需要"schema"和"payload"字段,并且可能不包含其他字段。如果尝试反序列化纯 JSON 数据,请在转换器配置中设置 schemas.enable=false。

我使用的是 Confluent 版本 4.0.0。

有什么建议吗?

我对这个问题的理解是,如果你设置schemas.enable=true,你告诉kafka你想将模式包含在kafka必须传输的消息中。在这种情况下,kafka 消息没有纯 json 格式。相反,它首先描述架构,然后附加与架构对应的有效负载(即实际数据((阅读有关 AVRO 格式的信息(。这导致了冲突:一方面,你为数据指定了 JsonConverter,另一方面,你要求 kafka 将架构包含在消息中。要解决此问题,您可以将 AvroConverter 与 schemas.enable = true 一起使用,或者将 JsonCOnverter 与 schemas.enable=false 一起使用。

相关内容

  • 没有找到相关文章

最新更新