无法确定kafka jdbcsourceconnector.java是否正在向主题写入数据

fumotvh3  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(362)

这是我个人的研究aim:stream data 从表到Kafka主题,然后使用Kafka主题中的数据写入文件。
使用的api:我目前正在尝试使用kafka连接器,确切地说是jdbcsourceconnector类。
约束:使用合流javaapi,而不是通过cli或执行提供的shell脚本。
我所做的:创建一个jdbcsourceconnector.java类的示例,并通过提供properties对象作为参数来调用这个类的start(properties)方法。此属性对象具有数据库连接属性、表白名单属性、主题前缀等。
问题:
启动线程后,我无法从“topic prefix tablename”主题读取数据。仅仅调用start()方法就足以将数据放到主题中,还是应该同时示例化jdbcsourcetask类?
在使用jdbcsourceconnector类将数据放入topic之后,我们可以使用普通kafka使用者使用数据还是需要编写jdbcsinkconnector类?
有没有一个简单的javaapi教程页面/示例代码可以参考,因为我看到的所有示例都使用cli/shell脚本?
感谢您的帮助

wnavrhmk

wnavrhmk1#

为什么要直接使用javaapi?jdbc源连接器和filestream接收器连接器实现kafka connect api,并执行您希望执行的操作。本文将通过示例对此进行说明。
如果要转换数据,则可以使用kafka streams或ksql来使用要写入的主题并应用所需的转换。如果您想在kafka connect工作流本身中进行简单的转换,还可以查看单个消息转换。
所以你必须:

[database] --- Kafka Connect 
                JDBC source   --> [ Kafka topic A ]
                                         |
                                         |
                                    Kafka Streams 
                                       or KSQL
                                         |
                                         |
                                         V
                                  [ Kafka topic B] -- Kafka Connect --> [ /tmp/foo ]
                                                       File Sink

相关问题