Flink 是什么

什么是Flink

Flink就是一个大数据处理引擎的处理框架,是针对流进行的处理.

它是 Apache 旗下的一个框架和分布式的处理引擎,用于对无界和有界的数据进行状态的计算。

整体框架:
在这里插入图片描述

应用场景:
在这里插入图片描述

Flink保证的就要有:低延迟、高吞吐、结果的准确性和良好的容错性。

Flink流处理的架构

传统的数据处理结构

事务处理方式:
在这里插入图片描述

在事务处理的方式上,它的数据处理批量上就不会很大,主要针对的就是事务的一个处理。

分析处理的方式:
数据处理的批量可以很大,但是数据处理的时间上不是很积极的。它离线的,响应比较慢。

有状态的流式处理

流处理的演变
将存储层放在了本地的一个状态,定期的将数据放在远端的持久化存储系统中。
在这里插入图片描述

扫描二维码关注公众号,回复: 14744817 查看本文章

lamnbda结构(第二代流处理结构)
用两套系统,同时保证低延迟和结果的准确。
在这里插入图片描述

新一代处理器——Flink
就是一套系统实现了lambda结构里的两个系统。

核心特点:
高吞吐、低延迟;
结果的准确性;
精确一次(exactly-once)的状态一致保证性;
可以与众多常用存储系统进行连接;
高可用,支持动态扩展性。

流处理结构上的应用场景

  1. 事件驱动型应用

在这里插入图片描述

  1. 数据分析型应用

在这里插入图片描述

  1. 数据管道型应用

在这里插入图片描述

Flink 的分层API

在这里插入图片描述

  • 越顶层越抽象,表达的含义越简明,使用起来越方便。
  • 越底层越具体,表达的能力越丰富,使用起来越灵活。

其中处于第三次的 DataStream 是最为核心的API。

Flink 和 Spark 区别

在这里插入图片描述

Spark 在底层数据处理上的逻辑上还是以批处理的方式进行。所以现在也有人将Spark的处理叫做伪流的处理,而Flink是为真正的流处理方式。

  • 数据模型
    Spark 采用的是 RDD 模型, spark steaming 的 DSream 实际上也是一组组小批量的 RDD 集合
    Flink 基本数据模型就是数据流,以及事件(Event)序列
  • 运行时架构
    Spark 是批计算,将 DAG 划分为不同的 stage ,一个完成后才可以计算下一个。
    Flink 则是标准的六执行模式,一个事件在一个节点处理完后可以直接发往下一个节点处理。

Spark 就像是数据不动代码动,如果是说数据要做分区调整的话,代价就会非常的大,stage 就会十分的麻烦;
而Flink就是代码不动,数据动 。 铁打的营盘,流水的兵一样。

猜你喜欢

转载自blog.csdn.net/weixin_45970271/article/details/129773262
今日推荐