• Flink相对于Spark的优点


    Flink相对于Spark的优点

    容错

    Flink 基于两阶段提交实现了精确的一次处理语义。

    Spark Streaming 只能做到不丢数据,但是有重复。

    反压

    Flink 在数据传输过程中使用了分布式阻塞队列,一个阻塞队列中,当队列满了以后发送者会被天然阻塞住,这种阻塞功能相当于给这个阻塞队列提供了反压的能力。

    Spark Streaming 为了实现反压这个功能,在原来的架构基础上构造了一个“速率控制器”,这个“速率控制器”会根据几个属性,如任务的结束时间、处理时长、处理消息的条数等计算一个速率。在实现控制数据的接收速率中用到了一个经典的算法,即“PID 算法”。

    流和微批

    Flink是流处理,用流的思想做批处理。

    Spark 是微批处理,用批的思想做流处理。

    延时

    sparkstreaming是秒级别的

    Structured Streaming是毫秒级别的

    Flink是亚秒级别的

    状态存储

    spark的状态管理目前做的比较简单,只有两个对应的算子(UpdateStateByKey和mapWithState)

    Flink 提供文件、内存、RocksDB 三种状态存储,五种类型的状态,(ValueState,ListState,ReducingState,AggregatingState,FoldingState,MapState)

    灵活的窗口

    Spark只能根据处理时间窗口批量处理

    Flink可以基于处理时间,数据时间,没有记录等的窗口

  • 相关阅读:
    easyui 获取分页栏中的行数(pageSize)和页码数(pageNumber)
    C# 跨盘符移动文件
    C# Json简单处理
    HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解
    Jquery中的(function($){...})(jQuery)
    前端框架你究竟选什么
    Kindeditor使用心得
    jvm——内存模型
    jvm——NIO
    Java——静态类型 实际类型
  • 原文地址:https://www.cnblogs.com/weijiqian/p/14146761.html
Copyright © 2020-2023  润新知