微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Kafka JDBC Sink 处理数组数据类型

如何解决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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?