在阅读有关Kafka以及如何从Kafka将数据获取到适合某些特定任务的可查询数据库的信息时,通常会提到Kafka Connect接收器。 如果我需要Kafka来搜索索引(例如ElasticSearch)或需要Hadoop到Spark的分析(如果有Kafka Connect接收器),这听起来就像是要走的路。
但是我的问题是,处理不那么流行的MyImaginaryDB的商店的最佳方法是什么,我只能通过某种API来访问它,并且需要安全可靠地处理数据,以及在插入之前进行体面改造?是否建议:
我还一直在阅读有关Kafka KSQL和Streams的信息,想知道这是否有助于在将数据发送到最终存储之前进行数据转换。
答案 0 :(得分:1)
选项2肯定是。仅仅因为没有现有的源连接器,并不意味着Kafka Connect不适合您。如果您仍然要编写一些代码 ,则可以使用Kafka Connect框架。 Kafka Connect处理所有常见的内容(方案,序列化,重新启动,偏移量跟踪,横向扩展,并行等),而您只需要实现将数据传输到MyImaginaryDB
的功能即可。
关于转换,标准模式为:
如果您尝试构建自己的应用程序(转换+数据接收器),那么您就要担负起责任,并且要重新发明已经存在的一大块(以可靠的可扩展方式与外部系统集成)
您可能会发现此演讲对了解Kafka Connect可以做什么有帮助:http://rmoff.dev/ksldn19-kafka-connect