身处大数据圈近5年了,在我的概念里一直认为大数据最牛的两个东西是Hadoop和Spark。18年下半年的时候,我突然发现身边很多大数据牛人都是研究学习Flink,甚至连Spark都大有被冷落抛弃的感觉。何以至此,Flink是个什么鬼?
Apache Flink(简称Flink)是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态计算。可部署在各种集群环境,对各种大小的数据规模进行快速计算。
大数据生态圈很庞大,优秀的框架和组件就笔者了解的不下20个,为何Flink如此受宠?那么多人而且还是薪资待遇不错的大数据技术人要痴迷于它?笔者总结一下,大概以下几个原因:
1. 从技术角度来说,目前大数据计算引擎中, 能够同时支持流处理和批处理的计算引擎,只有Spark和Flink。其中Spark的技术理念是基于批来模拟流的计算。而Flink则完全相反,它采用的是基于流计算来模拟批计算。从技术发展方向看,用批来模拟流有一定的技术局限性,并且这个局限性可能很难突破。而Flink基于流来模拟批,在技术上有更好的扩展性。
2. 从语言方面来说,虽然Flink和Spark都支持多种语言,但Flink核心语言是Java,而Spark核心语言是Scala。Java语言毫无疑问用户基础更大,无论从技术选型还是团队人员稳定方面考虑,以Java作为核心语言的Flink更受偏爱。
3. 大公司的风向标作用, 阿里全面转向Flink无疑是一个催化剂。目前,阿里巴巴所有的业务,包括阿里巴巴所有子公司都采用了基于Flink搭建的实时计算平台。其实不光阿里,国内很多一线的公司都投入很多人力和财力在Flink实时计算上。
4. 这个框架的性能表现确实很优秀, Flink最初上线阿里巴巴只有数百台服务器,目前规模已达上万台,此等规模在全球范围内也是屈指可数;基于Flink,阿里内部积累起来的状态数据已经是PB级别规模;如今每天在阿里Flink的计算平台上,处理的数据已经超过万亿条;在峰值期间可以承担每秒超过4.72亿次的访问,最典型的应用场景是阿里巴巴双11大屏。对这方面感兴趣的同学可以看看 阿里巴巴计算平台事业部资深技术专家莫问在云栖大会的演讲内容 —— 阿里巴巴为什么选择Apache Flink?
5. 想弯道超车,大家都知道,大数据已经火了好几年了,进入这行早的当然是沾尽了趋势红利,有新的好东西出来自然也有精力有兴趣去研究学习。而稍晚的同学,也想弯道超车,占领更好的“坑”,提薪更不在话下。如果你已经在做大数据,学会Flink提薪5K不是难事,如果你还没有进大数据这个领域,那么以Flink为主要方向不失为明智的想法。
那么,如何快速学习、学会Flink甚至成为Flink高手呢?现阶段最直接的方式有三个:
1. 通过翻阅官方文档,这种方式适合学习很多大数据技能,不过这种方式对个人英语水平要求高,同时也比较费时,学习起来相对费力,碰到问题也不太容易解决,需要找到组织,多人一起学习一起交流。有兴趣的同学可加QQ群:732021751。
2. 通过看书学习,很遗憾,Flink这块目前还没有系统、实战性强的书出来,预计还得再等等。
3. 看Flink老鸟的分享视频,这个确实是一个可选方案,适合想快速学好Flink并积累一些项目经验的同学。目前各大IT学习平台比较热门的应该要数《Flink大数据项目实战》这套视频啦,感兴趣的 -> 戳此链接。
原文地址:https://www.cnblogs.com/dajiangtai/p/10654533.html