当前位置: 首页 > 知识库问答 >
问题:

我应该使用什么:Kafka Stream或Kafka consumer api或Kafka connect

暴阳州
2023-03-14

我想知道什么是最适合我的:Kafka流或Kafka消费者api或Kafka连接?

我要插入记录的数据库是:HDFS-(插入原始JSON)MSSQL-(处理过的JSON)

另一个选择是Kafka connect,但我发现到现在为止hdfs接收器和jdbc接收器连接器还没有json支持(我不想用avro编写),并且创建模式对于复杂的嵌套消息来说也是一件痛苦的事情。

或者我应该编写自定义Kafka连接来完成此操作。

所以需要你的意见,我是否应该写Kafka消费者,Kafka流或Kafka连接?而什么会在性能方面更好,开销更少呢?

共有1个答案

宣意致
2023-03-14

您可以使用它们的组合

我尝试了用于JSON的HDFS接收器,但无法使用org.apache.kafka.connect.JSON.jsonConverter

不清楚为什么不行。但我假设您忘记设置schemas.enabled=false

Kafka流或消费者API能够进行验证。Connect支持简单消息转换(SMT)

有些用例,你需要“复制数据”到Kafka上;处理您的“原始”主题,使用消费者读取它,然后将其生成“清理”主题,您可以使用Kafka Connect从该主题写入数据库或文件系统。

 类似资料:
  • 问题内容: 我注意到,如果我对打开的文件进行迭代,则无需“读取”该文件即可更快地对其进行迭代。 即 比 第二个循环将花费大约1.5倍的时间(我在完全相同的文件上使用了timeit,结果是0.442对0.660),并且会得到相同的结果。 所以-我什么时候应该使用.read()或.readlines()? 由于我一直需要遍历正在读取的文件,并且在学习了艰难的方式之后,.read()在大数据上的运行速度

  • 问题内容: 有人可以建议当今这些库的最佳用途是什么?仅仅是GUI,还是它们也具有数据库,XML,网络,线程等支持? 我正在阅读有关它们的内容,并考虑开始学习/使用其中之一。 最常见的是什么?它们之间有什么区别?为什么要选择一个? 问题答案: 因为您似乎主要针对Linux,所以选择主要取决于您要使用的编程语言。 如果您使用C编写代码,那么显然可以使用GTK + 如果您使用C 编写代码,请使用Qt,否

  • 问题内容: 这是一个非常愚蠢的问题,但这是我第一次进行单元测试,因此:可以说我有一个像obj这样的对象变量,并且如果此obj为Null,我希望我的单元测试失败。所以对于断言,我应该说AssertNull还是AssertNotNull吗?我很困惑他们的名字。 问题答案: 使用。意味着。

  • 问题内容: 之间有什么区别: 和 我知道JPanel是GUI组件的容器,但我确实看不到使用它的实用程序。当然,我错了,但我是从Swing开始的,所以…为什么我应该使用JPanel?真正的目的是什么? 问题答案: 为什么我应该使用JPanel? 您可以使用JPanel获得以下一项或多项好处: 将组件分组在一起。 为了更好地组织您的组件。 为了使我们能够使用 多种布局 并组合其效果。(例如,用于数字键

  • 问题内容: 这是与以前的帖子有关的问题,但是此帖子已解决,现在我想更改问题的方向。 当与工作JNI,有必要询问对象和用于将在C / C 代码中使用每个类和方法。为了清楚起见,我想从C / C 调用Java构造函数或方法。 由于从Java到C / C ++的通信成本很高(反之亦然),因此我最初认为使这种情况最小化的一种方法是重用and 。因此,我将该实例保存在全局变量中,如下所示: 一个更具体(且有

  • 问题内容: 的(Java持久性API)规范有2名不同的方式来指定实体组合键:和。 我在映射的实体上同时使用了这两个注释,但是对于不太熟悉的人来说,这真是一个大麻烦。 我只想采用一种指定复合键的方法。哪个真的是最好的?为什么? 问题答案: 我认为这可能更冗长,因为无法使用任何字段访问运算符来访问整个主键对象。使用,您可以这样做: 这给构成组合键的字段提供了清晰的概念,因为它们都聚集在通过字段访问运算