我正在开发一个spark-kafka流程序,在这里我需要捕获kafka分区偏移量,以便处理故障场景。大多数开发人员都使用hbase作为偏移量的存储,但是如果我使用hdfs或本地磁盘上的文件来存储简单易用的偏移量会怎么样呢?我试图避免使用nosql存储偏移量。我能知道在hbase上使用文件存储偏移量有哪些优点和缺点吗?
k2arahey1#
就用Kafka吧。开箱即用,apachekafka将消费者补偿存储在kafka本身中。
lsmepo6l2#
我也有类似的用例,我更喜欢hbase,原因如下-易于检索,它按行键的排序顺序存储数据。当偏移量属于不同的数据组时,它很有用。我必须捕获一组数据的起始偏移量和结束偏移量,在这些数据中,捕获起始偏移量很容易,但是在流模式下捕获结束偏移量却很困难。所以我不想打开一个文件只更新结束偏移量然后关闭它,我也想到了s3,但是s3对象是不可变的。zookeeper也可以是一种选择。希望有帮助。
2条答案
按热度按时间k2arahey1#
就用Kafka吧。开箱即用,apachekafka将消费者补偿存储在kafka本身中。
lsmepo6l2#
我也有类似的用例,我更喜欢hbase,原因如下-
易于检索,它按行键的排序顺序存储数据。当偏移量属于不同的数据组时,它很有用。
我必须捕获一组数据的起始偏移量和结束偏移量,在这些数据中,捕获起始偏移量很容易,但是在流模式下捕获结束偏移量却很困难。所以我不想打开一个文件只更新结束偏移量然后关闭它,我也想到了s3,但是s3对象是不可变的。
zookeeper也可以是一种选择。希望有帮助。