【发布时间】:2019-12-24 02:05:49
【问题描述】:
我对 Kafka 很陌生,我正在做一个 PoC(我的第一个 Kafka 应用程序)并且很想知道是否有人遇到过或使用过自定义 JDBC 源连接器,该连接器使用存储过程从 Oracle 导出数据进入卡夫卡?
我知道 SO 社区可能会将这视为一个开放式问题,但感谢您的耐心等待,如果您有任何反馈,我将不胜感激。
谢谢!
一些背景:
我已经在 Oracle 中有存储过程,现有 Spring 应用程序使用这些存储过程在新数据库中提取和加载数据(用于现有企业应用程序的新版本)。
新数据库中的表结构与旧数据库不同。
-
Spring 应用程序(使用 Spring JDBC 并与存储过程、行映射器等一起使用)被开发为一个 PoC,用于检查连接、集成和在新数据库中加载数据。
李> 现在它可以工作了,我们正在尝试引入 Kafka,它会实际存储数据并然后将其加载到新数据库中。稍后会开发 JDBC Sink 连接器。
我正在寻找一个示例(使用 Java、Maven、Spring)来帮助我开始构建自定义连接器。大多数示例/文档都显示了不适合我现有应用的 curl 示例。我可能在这里遗漏了一些东西。
【问题讨论】:
-
请提供存储过程的简化形式。是否有 OUT 参数或返回游标来获取数据?最重要的是,明确谁应该调用程序?你希望 Kafka 会 poll 过程吗?
-
理想情况下,我希望现有应用程序执行存储过程并根据 RowMappers 转换结果集。但是,我不知道它的性能与 Kafka 的 poll 功能相比如何。以下是存储过程 OUT 参数示例:
declareParameter(new SqlOutParameter("param_ref_cursor", OracleTypes.CURSOR, new CustomRowCallbackHandler(<params>))) -
@RGB314 你有办法从连接器调用 SP 吗?请回答,以便对社区有所帮助。
-
我没有继续采用这种方法,因为由于应用程序架构和数据流传输方式的变化,它变得多余。
标签: jdbc apache-kafka apache-kafka-connect