美文网首页
说一下spark streaming

说一下spark streaming

作者: scott_alpha | 来源:发表于2019-10-19 14:39 被阅读0次

    spark streaming抽象了离散数据流DStream,DStream包含了一组连续的RDD。这一组连续的RDD代表了连续的流式数据,DStream可以通过实时的输入数据构建,也可以通过DStream转化得到,这些RDD代表着不同时间段的数据集,我们对DStream的操作最终会映射到内部的RDD上。
    spark streaming中最为重要的是批处理的间隔,指的是spark streaming以多少时间间隔为单位处理数据。spark streaming处理数据的单位是一批而不是一条,但是数据的采集确实一条一条进行的,批处理间隔决定了任务提交的频率以及数据处理的延迟。spark streaming中比较重要的概念是批处理间隔、滑动间隔与窗口间隔。滑动间隔与窗口间隔必须是批处理间隔的整数倍,滑动
    间隔一般与批处理间隔设置相同,而窗口间隔要大一些。
    处理的数据量由窗口间隔决定,而处理数据的间隔由滑动间隔控制。如果批处理间隔为1,滑动间隔为2,窗口间隔为4,则窗口之间会有重叠,批处理间隔的数据可能会被一个或者多个窗口间隔使用,因此数据在spark streaming内不会被立即清除,但是spark streaming进行了优化,重复数据不会重复处理。
    在spark streaming中会先设置好批处理间隔(batch duration),当超过批处理间隔的时候,会把采集到的数据汇总起来成为一批数据交给系统处理。对于窗口操作而言,在其窗口内部会有N个批处理数据,批处理数据的大小由窗口间隔(window duration)决定,而窗口间隔指的就是窗口的持续时间,在窗口操作中,只有窗口的长度满足了才会触发批数据的处理。除了窗口的长度,窗口的操作还有另一个重要的参数,就是滑动间隔(slide duration),它指的是经过多长时间窗口滑动一次形成新的窗口,滑动窗口默认情况下和批次间隔相同,而窗口间隔一般设置的要比它们两个大。注意,滑动间隔和窗口间隔的大小一定得设置为批处理间隔的整数倍。
    在spark streaming的执行过程中,会构建DStream链,最终转化为spark作业提交并执行。

    相关文章

      网友评论

          本文标题:说一下spark streaming

          本文链接:https://www.haomeiwen.com/subject/qqzgmctx.html