我想知道什么是对我最好的:卡夫卡流或卡夫卡消费api或卡夫卡连接?
我想从主题中读取数据,然后进行一些处理并写入数据库。因此,我已经编写了使用者,但我觉得我可以编写Kafka流应用程序,并使用它的有状态处理器执行任何更改并将其写入数据库,这可以消除我的使用者代码,只需要编写db代码。
我想插入我的记录的数据库是: HDFS -(插入原始JSON) MSSQL -(已处理的json)
另一个选项是Kafka connector,但我发现到目前为止还没有json支持hdfs接收器和jdbc接收器连接器(我不想用avro编写),创建模式对于复杂的嵌套消息也很痛苦。
或者我应该写自定义卡夫卡连接来做这件事。
那么,我是应该写卡夫卡消费者,还是卡夫卡流还是卡夫卡连接,你需要你的意见吗?什么东西在性能上会更好,开销更少呢?
发布于 2018-09-30 07:27:59
您可以使用它们的组合。
我尝试过用于JSON的HDFS接收器,但无法使用
org.apache.kafka.connect.json.JsonConverter
不清楚为什么不。但我想你忘了设置schemas.enabled=false了。
当我设置
org.apache.kafka.connect.storage.StringConverter时,它可以工作,但它以字符串转义格式写入json对象。就像。{"name":"hello"}以"{\"name\":\"hello\"}"的形式写入hdfs
是的,它将字符串-转义JSON
我想做的处理是基本的验证和很少的字段值转换。
Kafka或Consumer能够进行验证。连接可以进行简单的消息转换(SMT)。
有些用例中,您需要将数据“复制”到Kafka;处理“原始”主题,使用使用者读取它,然后将其生成“已清除”的主题,您可以使用Kafka Connect将其写入数据库或文件系统。
发布于 2017-09-04 09:30:14
欢迎来到堆栈溢出!请拿https://stackoverflow.com/tour标签
请用精确的问题,而不是征求意见-这使网站更清楚,意见不是答案(并取决于每个人的喜好)。问“如何使用卡夫卡-与json连接”
另外,请展示一些研究成果。
低开销将是卡夫卡消费者-卡夫卡流和卡夫卡连接使用卡夫卡消费者,所以你将始终能够减少开销,但也将失去所有的好处(容忍失败,易于使用,支持等)。
首先,这取决于您的处理是什么。聚合?数?验证?然后,您可以使用kafka流进行处理,并根据您想要的格式将结果写入新的主题。
然后,您可以使用kafka连接将数据发送到数据库。您没有被迫使用avro,您可以使用其他格式的键/值,请参见
https://stackoverflow.com/questions/46032925
复制相似问题