对于etl作业,我有一个简单的场景:从kafka主题获取数据并将其放入hbase表。在将来,我将在从一个主题中读取数据之后添加对一些逻辑的支持。我考虑两种情况:
使用kafka流从一个主题读取数据,并通过本地hbase驱动程序进一步写入每条记录
使用kafka->hbase连接器
我对我的选择还有下一个顾虑:
每次数据到达Kafka流的窗口时写入数据是个好主意吗暗示它会降低性能
kafka hbase连接器仅由第三方开发人员支持,我不确定此解决方案的代码质量,也不确定是否可以在主题中的数据上添加自定义聚合逻辑。
1条答案
按热度按时间oxiaedzo1#
我自己也一直在尝试为kafka-to-hbase搜索etl选项,但是,到目前为止,我的研究告诉我,在kafka-streams应用程序中进行外部系统交互不是一个好主意(请在此处和此处查看答案)。Kafka流是超级强大和伟大的,如果你有
KAFKA->Transform_message->KAFKA
一种用例,最终您可以让kafka connect从kafka主题获取数据并将其写入接收器。由于您不想使用第三方kafka connect for hbase,一个选项是使用connect api自己编写一些内容,另一个选项是使用kafka consumer producer api并使用传统方式编写应用程序、轮询消息、写入接收器、提交批处理并继续。