使用 Kafka Connect API JDBC Sink 连接器示例到 Oracle 数据库的 Kafka 主题

Posted

技术标签:

【中文标题】使用 Kafka Connect API JDBC Sink 连接器示例到 Oracle 数据库的 Kafka 主题【英文标题】:Kafka Topic to Oracle database using Kafka Connect API JDBC Sink Connector Example 【发布时间】:2019-06-04 15:52:36 【问题描述】:

我知道要编写一个 Kafka 消费者并将每条记录插入/更新到 Oracle 数据库中,但我想为此目的利用 Kafka Connect API 和 JDBC Sink Connector。除了属性文件,在我的搜索中,我找不到完整的可执行示例,其中包含在 Java 中配置和编写相关代码以使用带有 json 消息的 Kafka 主题并使用 Kafka 在 Oracle 数据库中插入/更新(合并)表的详细步骤将 API 与 JDBC 接收器连接器连接。有人可以演示一个包括配置和依赖项的示例吗?这种方法有什么缺点吗?当表数据增加到数百万时,我们是否预计会出现任何潜在问题?

提前致谢。

【问题讨论】:

您不必编写代码。您可以只使用现有的并对其进行配置。您可以在此处找到 jdbc-sink 连接器的文档:docs.confluent.io/current/connect/kafka-connect-jdbc/… 【参考方案1】:

您的特定用例不会有示例,因为 JDBC 连接器是通用的。

Here is one configuration example 使用 Oracle 数据库

你只需要

    某种格式的主题 key.convertervalue.converter 设置为反序列化该主题 您的 JDBC 字符串和数据库架构(表、投影字段等) 任何其他JDBC Sink Specific Options

所有这些都在 Java 属性/JSON 文件中,不是 Java 源代码

如果您在创建此配置时遇到特定问题,请发表评论。

当表格数据增加到数百万时,我们是否预计会出现任何潜在问题?

嗯,这些问题与数据库服务器有关,与 Kafka Connect 无关。例如,在接受连续写入时磁盘已满或负载增加。

这种方法有什么缺点吗?

如果您确实需要,您必须单独处理重复数据删除或记录过期(例如 GDPR)。

【讨论】:

以上是关于使用 Kafka Connect API JDBC Sink 连接器示例到 Oracle 数据库的 Kafka 主题的主要内容,如果未能解决你的问题,请参考以下文章

如何将 kafka-connect-jdbc-5.5.0.jar 添加到 Debezium/connect

pyflink消费kafka-connect-jdbc消息(带schema)

Postgres使用JDBC Kafka Connect进行流式传输

从 JDBC Kafka Connect 源中删除事件

Kafka Connect JDBC Source MySQL 全量同步

kafka-connect JDBC PostgreSQL Sink Connector 显式定义 PostgrSQL 模式(命名空间)