这个其实我在负责的反爬虫数据处理项目中,使用到过SparkStreaming,并且再使用到了SparkStreamning的窗口机制进行实时的数据监控指标,例如实时统计最近一周内爬虫数量,爬虫次数这样的指标。
SaprkStreaming的窗口原理的话,涉及到3个概念:
第一个就是batch间隔,batch在SparkStreaming的定义中说batch是spark RDD分布数据集的最小单位。
第二个就是滑动间隔,滑动间隔指的就是窗口移动的间隔,这个看你身实际业务的实时性需要,需要平衡一下系统的性能,滑动间隔必须是batch的整数倍,如果不是的话,就会出现数据计算丢失。
第三个就是窗口间隔:这个就取决于你要统计的数据范围,保证窗口间隔是batch的整数倍,才能保证数据的完整性,比如你的batch是1秒钟,然后你的窗口长度是1.5秒,那不就是有半秒数据会被重复嘛,没办大保证数据计算的准确性
那刚才讲到的指标实时统计最近一周的爬虫数量,batch我们设置1秒,滑动间隔就是30秒,窗口长度就是7天。
792

被折叠的 条评论
为什么被折叠?



