1、Flink的介绍
随着数据的飞速发展,出现了很多热门的开源社区,比如:hadoop、spark、storm社区,他们都有各自专注的适用场景,比如hadoop主要是做数据的存储及批处理计算,spark既可以做批处理也可以做准实时计算,同时也支持机器学习和图计算,storm主要专注于实时计算。
在国外一些开源社区将flink分为四代:
hadoop:
主要是做批处理的,分为Map阶段和reduce阶段,如果业务非常复杂,会有多个map阶段和reduce阶段,因为两个阶段都有输入和输出,所以需要根据业务进行拆分阶段,同时mr的计算依赖的是io,所以性能比较低
使用DAG(Tez)+MR
通过引入DAG框架,将多个mr阶段串联到一起去执行,类似于我们之前学习的Oozie框架,因为使用的是第三方的DAG框架,相对于第一代来说,性能有了提高
Spark
spark可以做批计算、流计算、以及sql支持
spark自带了DAG,同时是基于内存的迭代计算,因此性能有了非常大的提高
问题?
为什么在企业中很多公司依然使用Mr进行离线计算?
主要是Mr的稳定性要远远的大于Spark,因为Mr是基于i