Flink简介

Flink是一个框架和分布式处理引擎,新一代的流式计算处理框架,与Spark相比,flink低延迟,高吞吐,实时性更好,每秒处理百万个,spark本质是一批批微小数据集处理,而Flink才是真正的流处理。

2014年捐赠apache基金会 2015成为apache顶级项目

Flink和Spark Streaming比较

流和微批

Flink 以事件为驱动,真正的流处理

streaming可以理解成一批批微批出

数据模型

spark采用RDD模型,streaming的Dstream实际也是一组组小批数据RDD的集合

flink基本数据模型是数据流,以及事件序列

运行时架构

spark是批计算,将DAG划分不同stage,一个完成才可以计算下一个

flink是标准的流执行模式,一个事件在一个节点处理后可以发往下一个节点进行处理

WordCount示例代码:

1、批处理

Flink学习记录
2、流处理

Flink学习记录

Flink运行组件


JobManager-作业管理器

1、控制一个应用程序的主进程

TaskManager-任务管理器

1、每个TaskManager都包含了一定数量的插槽(slots,隔离内存),插槽的数量限制了TaskManager能够执行的任务数

2、TaskManager向资源管理器注册它的插槽,收到资源管理器指令后,就会将一个或多个插槽提供给JobManager调用,JobManager就可以向插槽分配task来执行了

3、执行过程中,TaskManager可以跟其他运行同一程序的TaskManager交换数据

Dispatcher-分发器

提供了REST接口

ResourceManager-资源管理器


基本原理

Flink学习记录

Flink学习记录

Flink学习记录

Flink学习记录

Flink流处理API

Environment

createLocalEnvironment、createRemoteEnvironment、getExecuteEnvironment

Source

文件、自定义

Transform

flatmap、map、filter、keyby、滚动聚合算子、Reduce、split和select、Connect和CoMap、Union

split和select:一条流分为两条流 Connect和CoMap :两条流合并成一条流

相关文章:

  • 2021-07-07
  • 2021-07-14
  • 2021-07-14
  • 2021-10-30
  • 2021-08-05
  • 2022-02-06
  • 2022-02-28
  • 2021-10-01
猜你喜欢
  • 2021-10-24
  • 2021-10-24
  • 2021-06-26
  • 2021-11-30
  • 2022-01-04
  • 2021-05-30
相关资源
相似解决方案