Flink概述 | 青训营笔记

93 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的第3天
今天的文章内容是对于大数据第二节课《流/批/OLAP一体的Flink引擎介绍》的其中第一大部分,Flink概述的整理,希望大家看完之后可以对于Flink有一个比较清晰的概念,这次主要分为三个部分吧

Flink概述

Apache Flink的诞生背景

什么是大数据

大数据(Big Data):指无法在一定时间内用常规软件对其进行获取、存储、管理和处理的数据集合,下图是大数据的一些特点
海量化:他的量非常非常大
多样化:大数据的数据源和数据种类,是非常多样的,比如,它不仅仅有格式化的数据,还有很多半结构的数据,以及结构化的数据
快速化:目前随着互联网信息化时代的发展,数据产生的速度越来越快,信息量也越来越大 价值化:数据价值密度非常低,但是数据还是具有很大价值 image.png

为什么Apache Flink会脱颖而出

大数据计算架构发展历史

从传统数仓->Hadoop(分布式、Map-Reduce)->Spark(批处理、流处理、SQL高阶API、内存迭代计算)->Flink(流计算、实时、流批一体)

为什么Flink

主要是因为业内对于数据的实施性有了更高的要求,而Flink他是一个流式计算框架,会带来一个更好的性能,并且他在流和批这一块都能支持SQL的使用,所以Flink慢慢取代了别的框架,业内现在也用Flink来进行处理

为什么需要流式计算

因为大数据的实时性带来的价值更大
如:监控场景:如果能实时发现业务系统的健康状态,就能提前避免业务故障
金融风控:如果实时监测出异常交易的行为,就能及时阻断风险的发生
实施推荐:比如在抖音,如果可以根据用户的行为数据发掘用户的兴趣,偏好,就能向用用户推荐更感兴趣的内容
大数据实时性的需求,带来了大数据架构模式的变化
从批式计算->流式计算
批式计算的特点

  • 离线计算,非实时
  • 静态数据集
  • 小时/天等周期性计算

流式计算特点

  • 实时计算,快速,低延迟
  • 无限流,动态,无边界
  • 7*24h持续运行
  • 流批一体 业内目前对大数据的处理还是以批示计算为主,简单来说,其实就是等数据都传过来了,再进行处理。而流式计算,是实时的。

流式计算引擎对比

流式框架对比:

stormSpark StreamingFlink
Steaming ModelNativemini-batchNative
一致性保证At least/Most OnceExactly-onceExactly-once
延误低延误(毫秒级)延迟较高(秒级)低延误(毫秒级)
吞吐lowhighhigh
容错ACKRDD Based CheckpointCheckpoint(Chandy-Lamport)
StateFulNoyes(Dstream)yes(Operator)
SQL支持NoYesYes