Flink教程

      • Flink的特性
      • Unbounded & Bounded data
      • 部署模式
      • 运行规模
      • Application types

Flink是处理unbounded和bounded data的分布式的计算引擎,擅长batch和stream的处理方式(spark更擅长batch的方式,spark streaming的本质也是微批的处理方式,所以实时性spark比flink要差一些),具有内存计算的速度,可以部署Yarn,Mesos集群上。

Flink的特性

  • batch & stream process
  • state management
  • event-time
  • exactly-once consistency guarantees for state

Unbounded & Bounded data

先上图:
Flink教程_第1张图片

  • unbounded data
    无界数据,只定义了开始没有定义结束,数据就像长江的流水一样源源不断的注入大海。所以对于吃入的数据必须迅速的处理,不能等到所有的数据收集完再处理(当然也收集不完)。处理无界数据必须要有一定的顺序,比如数据产生的时间等。
  • bounded data
    有界数据,定义了开始和结束。往往是已经存在的数据集,比如在数据库中存储的数据。处理数据时没有必要按照顺序读入。可以用批处理的方式处理。

部署模式

是计算引擎就需要计算资源(CPU,内存),Flink 可以与Hadoop Yarn, Apache Mesos, Kubernetes等资源管理的集群集成,也可以使用standalone模式。当运行一个Flink应用时,Flink会自动计算应用所需要的并行度和需要的内存资源,并向Resource Manager申请资源,如果申请失败则会重新申请。

  • Hadoop Yarn
  • Apache Mesos
  • Kubernetes
  • Standalone

运行规模

  • 多个task并行执行;
  • 使用异步和递增的checkpoint机制保存应用的运行状态;
  • 在最小程序影响处理量的基础上确保exactly-once语意;
  • 运行时如果内存存不下task的state时,会保存在磁盘上,如下图:
    Flink教程_第2张图片

    Application types

    • Event-driven Applications
    • Data Analytics Applications
    • Data Pipeline Applications

你可能感兴趣的:(大数据计算引擎)