在文件与Hbase中存储Kafka偏移量

时间:2018-03-02 23:39:50

标签: apache-spark apache-kafka spark-streaming

我正在开发一个Spark-Kafka Streaming程序,我需要捕获kafka分区偏移量,以便处理故障情况。

大多数开发人员都使用Hbase作为抵消存储,但如果我使用hdfs或本地磁盘上的文件来存储简单易用的偏移量,会怎样? 我试图避免使用Nosql来存储偏移量。

我可以知道使用基于hbase的文件存储偏移的优点和缺点吗?

2 个答案:

答案 0 :(得分:1)

只需使用Kafka。开箱即用,Apache Kafka stores consumer offsets within Kafka itself

答案 1 :(得分:0)

我也有类似的用例,我更喜欢hbase,因为以下原因 -

  1. 轻松检索,它按rowkey的排序顺序存储数据。当偏移属于不同的数据组时,它很有用。

  2. 我必须捕获一组数据的开始和结束偏移,其中捕获开始很容易但是结束偏移..尽管在流模式下捕获。所以我不想打开一个文件更新结束偏移并关闭它。我也想到了S3,但S3对象是不可变的。

  3. Zookeeper也可以是一个选项。 希望它有所帮助。