前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据入门:Flink核心概念详解

大数据入门:Flink核心概念详解

作者头像
成都加米谷大数据
修改2020-12-02 17:52:24
1.1K0
修改2020-12-02 17:52:24
举报
文章被收录于专栏:大数据开发大数据开发

在流式计算越来越受到主流青睐的市场状况下,流式计算框架技术的掌握,正在成为大数据学习当中的重要部分。以Flink框架来说,作为新一代的流计算框架,越来越多地出现在大数据开发者们的技能树当中。今天的大数据入门分享,我们就来讲讲FLink的几个核心概念。

真正意义上的流计算框架,是从Storm开始的,但是在实际的发展当中,Storm在与Spark的竞争当中,陷入了尴尬的境地,而流计算的后来者Flink,则采用了全新的流计算思想。

关于Flink

Flink作为分布式流计算引擎,既可以进行流式计算,也可以进行批处理。这是Flink比Storm设计思想上的亮点,能够同时支持批处理和流计算,更能满足企业数据处理的多样化需求。

Flink的核心思想在于,有状态的流计算,将批处理作为一种特殊状态的流计算进行处理,从而实现了对批处理和流计算二者的支持。

Flink同样也可以与现行的技术生态实现很好的集成,可以运行在k8s、yarn、mesos等资源调度平台上,依赖hdfs等文件系统,输入包含事件和各种其他数据,经过Flink引擎计算后再输出到其他中间件或者数据库等。

Flink特点

Flink处理的是实时的unbounded data,数据源源不断,可能永远都不会结束,这就给数据完备性和failover带来了很大的挑战。

Flink的容错主要通过定期快照和数据回溯。每隔一段时间,Flink就会插入一些barrier,barrier从source流动到sink,通过barrier流动来控制快照的生成。快照制作完就可以保存在共享引擎里。一旦作业出现问题,就可以从上次快照进行恢复,通过数据回溯来重新消费。

Flink主要特点是高吞吐、低延时。在流式系统里,Flink的吞吐是很高的。同时,它也可以做到实时处理和输出,让用户快速看到结果。

Flink核心概念

1、快照机制

Flink的快照机制主要是为了保障作业failover时不丢失状态。Flink提供了一种轻量级的快照机制,不需要停止作业就可以帮助用户持久化内存中的状态数据。

2、事件时间

时间类型分为两种:

Event time(事件时间),指事件发生的时间,比如采集数据时的时间;

Processing time(系统时间),指系统的时间,比如处理数据时的时间。

如果对数据的准确性要求比较高的话,采用Event time能保障exactly-once。Processing Time一般用于实时消费、精准性要求略低的场景,主要是因为时间生成不是deterministic。

3、窗口机制

窗口机制就是把无界的数据分成数据块来进行计算,主要有三种窗口。

滚动窗口:固定大小的窗口,相邻窗口没有交集;

滑动窗口:每个窗口的大小是一样的,但是两个窗口之间会有重合;

会话窗口:根据活跃时间聚合而成的窗口,比如活跃时间超过3分钟新起一个窗口。窗口之间留有一定的间隔。

窗口会自动管理状态和触发计算,Flink提供了丰富的窗口函数来进行计算。主要包括以下两种:

Process Window Function,全量计算会把所有数据缓存到状态里,一直到窗口结束时统一计算。相对来说,状态会比较大,计算效率也会低一些;

Aggregate Function,增量计算就是来一条数据就算一条,可能我们的状态就会特别的小,计算效率也会比ProcessWindowFunction高很多,但是如果状态存储在磁盘频繁访问状态可能会影响性能。

关于大数据入门,Flink核心概念详解,以上就为大家做了基本的介绍了。Flink框架在近几年的发展速度很快,市场反响也非常好,越来越多的企业在招聘当中,要求大数据开发者掌握Flink。

本文系转载,前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于Flink
  • Flink特点
  • Flink核心概念
相关产品与服务
大数据处理套件 TBDS
腾讯大数据处理套件(Tencent Big Data Suite,TBDS)依托腾讯多年海量数据处理经验,基于云原生技术和泛 Hadoop 生态开源技术提供的可靠、安全、易用的大数据处理平台。 TBDS可在公有云、私有云、非云化环境,根据不同数据处理需求组合合适的存算分析组件,包括 Hive、Spark、HBase、Flink、Presto、Iceberg、Elasticsearch、StarRocks 等,以快速构建企业级数据湖仓。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com