工作生活

根据offset读取kafka中的数据

2019-07-04  本文已影响0人  机灵鬼鬼

这里的文件列表就是在server.properties中配置的

下图就是kafka中,消息数据存放的文件,其中log文件里存放的是消息内容。其中******5059.log或者******5059.index其中5059就是文件中消息开始的offset。

我测试了一下,第一个样例是从offset为0的位置开始读取计算

(2019-06-27_ZFB,171)

(2019-06-22_WX,543)

(2019-06-25_ZFB,63)

(2019-06-26_WX,1066)

(2019-06-24_WX,83)

(2019-06-28_WX,222)

(2019-06-24_ZFB,15)

(2019-06-27_WX,1468)

(2019-07-01_WX,136)

(2019-07-03_WX,227)

另一个是从offset为5059的位置开始读取计算

(2019-07-01_WX,136)

(2019-07-03_WX,227)

(2019-07-03_ZFB,3)

(2019-07-04_WX,27)

(2019-07-01_ZFB,26)

(2019-07-02_WX,460)

其中不难发现,2019-07-01和2019-07-03有交集。

这样根据offset分析数据的方式,目的是为了减少Spark Streaming每次分析的数据量。如果一旦加上去kafka,他的数据会一直增加,如果一直从offset为0的位置开始读取和分析,就会干很多无用的分析任务。所以这种根据offset读取部分数据的机制,还是很有必要的。

上一篇下一篇

猜你喜欢

热点阅读