我正在开发一个Spark-Kafka Streaming程序,我需要捕获kafka分区偏移量,以便处理故障情况。
大多数开发人员都使用Hbase作为抵消存储,但如果我使用hdfs或本地磁盘上的文件来存储简单易用的偏移量,会怎样? 我试图避免使用Nosql来存储偏移量。
我可以知道使用基于hbase的文件存储偏移的优点和缺点吗?
答案 0 :(得分:1)
只需使用Kafka。开箱即用,Apache Kafka stores consumer offsets within Kafka itself。
答案 1 :(得分:0)
我也有类似的用例,我更喜欢hbase,因为以下原因 -
轻松检索,它按rowkey的排序顺序存储数据。当偏移属于不同的数据组时,它很有用。
我必须捕获一组数据的开始和结束偏移,其中捕获开始很容易但是结束偏移..尽管在流模式下捕获。所以我不想打开一个文件更新结束偏移并关闭它。我也想到了S3,但S3对象是不可变的。
Zookeeper也可以是一个选项。 希望它有所帮助。