主页 > 新闻资讯 > 大数据培训:Flink基本概念介绍

大数据培训:Flink基本概念介绍

作者:张老师 浏览次数: 2020-11-20 16:40
近年来大热的流计算引擎,非Flink莫属了,从最初的无人可知,到现如今的广受青睐,其实也不过是几年的时间。当然,一方面这是由于流计算正在成为越来越普遍的趋势,另一方面当然也是源于Flink的实力。今天的大数据培训分享,我们来对Flink基本概念做个简单的介绍。

Apache Flink,根据官方文档的定义,是一个分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。并且,Flink能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。在这样的背景下,Flink对于企业而言,是能够非常快速地去投入应用的。

大数据培训:Flink基本概念介绍

Flink入门第一步,先对其中的基本概念做一个简单的了解——

1、流Stream

在Flink当中,流分为有界(bounded)和无界(unbounded)。有界流和无界流的区别在于,无限数据流的数据会随着时间的推演而持续增加,计算持续进行且不存在结束的状态;而相对的有限数据流大小固定,计算最终会完成并处于结束的状态。

同样还有实时和历史记录属性。流中的数据一生成就得到实时处理;另一种可能时效性要求不高,只需要在凌晨统计前一天完整的数据,可以先将数据流持久化到存储系统中,然后再进行批处理。

2、状态State

状态是计算过程中的数据信息,在容错恢复和Checkpoint中有重要的作用,流计算在本质上是增量处理,因此需要不断查询保持状态。

另外,为了保证Excatly-once语义,还需要将数据写入到状态中,用来保证在故障发生时,通过保存在状态中的数据,进行恢复,保证一致性;还有持久化存储,能够保证在整个分布式系统运行失败或者挂掉的情况下做到Exactly-once,这是状态的另一个价值。

3、时间Time

分为事件时间(Event Time)、摄入时间(Ingestion Time)、处理时间(Processing Time),Flink的无限数据流是一个持续的过程,时间是我们判断业务状态是否滞后,数据处理是否及时的重要依据。

事件时间:事件被处理的时间,也就是由机器的系统时间决定。

处理时间:事件发生的时间,一般数据源携带的一个字段,指明事件发生的时间。

摄入时间:时间进入Flink的时间,在数据源处,事件将会以当源的操作时间作为时间戳。

4、接口API

从上往下有三层,分别是SQL/Table API、DataStream API和ProcessFunction,API的表达能力及业务抽象能力都非常强大,但越接近SQL层,表达能力会逐步减弱,抽象能力会增强。

反之,ProessFunction层API的表达能力非常强,可以进行多种灵活方便的操作,但抽象能力也相对越小。在日常开发任务当中,更多的用到的其实是DataStream这层的API,也是学习的重点。

关于大数据培训,Flink基本概念,以上就为大家做了一个简单的介绍了。在大数据的诸多计算框架当中,Flink的热度在持续上升,作为一个相对更新的框架,也值得大家去学习掌握。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析与挖掘,零基础班本月正在招生中,课程大纲及试学视频,可联系客服领取!
热点排行
推荐文章
立即申请>>