自学Flink,坚持坚持再坚持!!!
Flink概述
前言
Apache Flink® — Stateful Computations over Data Streams
Apache Flink® — 状态计算中的数据流
提示:以下是本篇文章正文内容,下面案例可供参考
一、实时即未来
如今的我们正生活在新一次的信息革命浪潮中,5G,物联网,智慧城市,工业互联网等等,随之而来的数据,是企业,人工智能,数字经济是企业生存的根本,对于大数据来说更是这样:数据产生的越来越快,数据量越来越大,数据的来源越来越千变万化,数据中隐藏的价值更是越来越被重视!
历史的发展从来不会一帆风顺,随着大数据时代的发展,海量数据和多种业务的实时处理需求激增,比如:实时监控报警系统、实时风控系统、实时推荐系统等,传统的批处理方式和早期的流式处理框架因其自身的局限性,难以在延迟性、吞吐量、容错能力,以及使用便捷性等方面满足业务日益苛刻的要求。在这种形势下,Flink 以其独特的天然流式计算特性和更为先进的架构设计,极大地改善了以前的流式处理框架所存在的问题。
扩展阅读:为什么说流处理即未来? https://news.qudong.com/article/562521.shtml
二、Flink官网
官网地址: https://flink.apache.org/
三、从 Apache开始
Flink诞生于欧洲的一个大数据研究项目StratoSphere。该项目是柏林工业大学的一个研究性项目。早期,Flink是做Batch计算的,但是在2014年,StratoSphere里面的核心成员孵化出Flink,同年将Flink捐赠Apache,并在后来成为Apache的顶级大数据项目,同时Flink计算的主流方向被定位为Streaming,即用流式计算来做所有大数据的计算,这就是Flink技术诞生的背景。
2014年Flink作为主攻流计算的大数据引擎开始在开源大数据行业内崭露头角。区别于Storm、SparkStreaming以及其他流式计算引擎的是:它不仅是一个高吞吐、低延迟的计算引擎,同时还提供很多高级的功能。比如它提供了有状态的计算,支持状态管理,支持强一致性的数据语义以及支持基于EventTime的WaterMark对延迟或乱序的数据进行处理等。
四、富二代 Flink
https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/86117374
随着人工智能时代的降临,数据量的爆发,在典型的大数据的业务场景下数据业务最通用的做法是:选用批处理的技术处理全量数据,采用流式计算处理实时增量数据。在绝大多数的业务场景之下,用户的业务逻辑在批处理和流处理之中往往是相同的。但是,用户用于批处理和流处理的两套计算引擎是不同的。因此,用户通常需要写两套代码。毫无疑问,这带来了一些额外的负担和成本。阿里巴巴的商品数据处理就经常需要面对增量和全量两套不同的业务流程问题,所以阿里就在想,我们能不能有一套统一的大数据引擎技术,用户只需要根据自己的业务逻辑开发一套代码。这样在各种不同的场景下,不管是全量数据还是增量数据,亦或者实时处理,一套方案即可全部支持,这就是阿里选择Flink的背景和初衷。
2015年阿里巴巴开始使用Flink并持续贡献社区(阿里内部还基于Flink做了一套Blink),2019年1月8日,阿里巴巴以9000万欧元(7亿元人民币)收购了创业公司DataArtisans。从此Flink开始了新一轮的乘风破浪!
五、Flink 组件栈
一个计算框架要有长远的发展,必须打造一个完整的栈Stack(生态圈)。只有上层有了具体的应用,并能很好的发挥计算框架本身的优势,那么这个计算框架才能吸引更多的资源,才会更快的进步。所以Flink也在努力构建自己的Stack。
Flink分层组件栈如下图所示:每一层所包含的组件都提供了特定的抽象,用来服务于上层组件。