如何解决Kafka JDBC Sink 处理数组数据类型
我知道 Kafka JDBC Sink Connector 对数组数据类型有一些缺点。但是,是否可以将 Sink 连接器与支持数组数据类型的简单 Kafka 连接器结合使用。如何从 Kafka 配置中过滤并将它们切换到简单的 Kafka Connector 配置 简单的 Kafka 配置是什么意思? Kafka Connect 如何支持数组字段
name: topic_name
type: array
item: Topic file
这是否可能将其作为字符串而不是数组消耗到数据库中
"fields":[{
"name":"item_id","type":{
"type":"array","items":["null","string"]
},"default":[]
}]
}
解决方法
Kafka Connect 框架本身没有暴露类型的限制,它在 JDBC 接收器的源代码中拒绝了数组。
有一个出色的 PR 为 Postgres 提供支持 - https://github.com/confluentinc/kafka-connect-jdbc/pull/805
不清楚您所说的“简单”是什么意思,但如果您想使用不同的连接器,则需要安装它,然后更改类。例如,也许 MongoDB 接收器处理数组。我知道 S3 和 HDFS 接收器确实......
是否可以将 Sink Connector 与简单的 Kafka Connector 结合起来
同样,不确定您的意思,但连接器通常不会“链接在一起”。虽然您可以使用带有转换的 MirrorMaker2 来有效地完成与 Kafka Streams 相同的工作,但最好为此使用更合适的工具
这是否可能将其作为字符串而不是数组消耗到数据库中
当然,如果消息字段实际上是一个字符串。正如建议的那样,您将需要在接收器连接器使用它之前处理消息
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。