美文网首页
SparkStreaming和StructedStreaming

SparkStreaming和StructedStreaming

作者: 写scala的老刘 | 来源:发表于2019-06-14 09:28 被阅读0次

    (1)执行模式

    Spark Streaming: 以micro-batch的模式:以固定的时间间隔来划分每次处理的数据, Structed streaming: 有两种模式:1),Micro-batch模式:处理模式类似sparkStreaming的批处理,2),Continuous Processing模式:获取数据后,放入queue中,启动long-running的worker线程从queue中读取数据并实时处理。该模式下在功能上还有一些缺陷,比如对端到端的exactly-once语义的支持。

    (2)ApI

    Sparkstreaming: 基于RDD开发,程序入口是StreamingContext,数据模型是Dstream,数据的转换操作通过Dstream的api完成,真正的实现依然是通过调用rdd的api完成
    Structed Streaming: 基于sql开发,入口是sparksession,使用的统一Dataset数据集,数据的操作会使用sql自带的优化策略实现

    (3)时间机制

    SparkStreaming的处理逻辑是根据应用运行时的时间(ProcessingTime)进行处理,不能根据消息中自带的时间戳完成一些特殊的处理逻辑
    StructedStreaming很大的改变是它加入了EventTime,WeaterMark等概念,在处理消息时,可以考虑消息本身的时间属性,同时,也支持基于运行时间的处理方式

    (4)UI页面

    SparkStreaming提供了内置的界面化的UI操作,便于观察应用运行,批处理时间,消息速率,是否延迟等信息
    StructedStreaming则没有直观的UI页面

    相关文章

      网友评论

          本文标题:SparkStreaming和StructedStreaming

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