终于有人把Flink设计理念与基本架构讲明白了.docx
《终于有人把Flink设计理念与基本架构讲明白了.docx》由会员分享,可在线阅读,更多相关《终于有人把Flink设计理念与基本架构讲明白了.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、终于有人把Flink设计理念与基本架构讲明白了导读:本文从设计理念的角度将Flink与主流计算引擎Hadoop MapReduceSpark进行比照,并从宏观上介绍Flink的基本架构。OlFlink与主流计算引擎比照1. Hadoop MapReduceMapReduce 是由谷歌首次在论文“MapReduce: Simplified Data Processing on Large Clusters(谷歌大数据三驾马车之一)中提出的,是一种处理和生成 大数据的编程模型。Hadoop MapReduce借鉴了谷歌这篇论文的思想,将大的 任务分拆成较小的任务后进行处理,因此拥有更好的扩展性。如
2、图1所示,Hadoop M叩Reduce包括两个阶段一Map和Reduce : M叩 阶段将数据映射为键值对 (key/value ) , map 函数在 Hadoop 中用 Mapper 类表示;Reduce 阶段使 用shuffle后的键值对数据,并使用自身提供的算法对其进行处理,得到输出结果,reduce函数在Hadoop中用Reducer类表示。其中shuffle阶段对MapReduce模式开发人员透明。图 1 Hadoop MapReduce 处理模型Hadoop MR1通过JobTracker进程来管理作业的调度和资源,TaskTracker进 程负责作业的实际执行,通过Slot来
3、划分资源(CPU、内存等),Hadoop MR1 存在资源利用率低的问题。Hadoop MR2为了解决MR1存在的问题,对作业的 调度与资源进行了升级改造,将JobTracker变成YARN ,提升了资源的利用率。 其中,YARN 的 ResourceManager 负责资源的管理,ApplicationMaster 负责 任务的调度。YARN支持可插拔不但支持Hadoop M叩Reduce还支持Spark. Flink、Storm等计算框架。Hadoop MR2解决了 Hadoop MR1的一些问题, 但是其对HDFS的频繁I/O操作会导致系统无法到达低延迟的要求,因而它只适 合离线大数据的
4、处理,不能满足实时计算的要求。2. SparkSpark是由加州大学伯克利分校开源的类Hadoop MapReduce的大数据处理框架。与Hadoop M叩Reduce相比,它最大的不同是将计算中间的结果存储于内 存中,而不需要存储到HDFS中。Spark的基本数据模型为RDD ( Resilient Distributed Dataset ,弹性分布式数 据集)o RDD是一个不可改变的分布式集合对象,由许多分区(partition )组成, 每个分区包含RDD的一局部数据,且每个分区可以在不同的节点上存储和计算。 在Spark中,所有的计算都是通过RDD的创立和转换来完成的。Spark S
5、treaming是在Spark Core的基础上扩展而来的,用于支持实时流式数 据的处理。如图2所示,Spark Streaming对流入的数据进行分批、转换和输出。 微批处理无法满足低延迟的要求,只能算是近实时计算。输入的数据流Spark Streaming分批的输入流分批处理后的数据图2 Spark Streaming处理模型Structured Streaming是基于Streaming SQL引擎的可扩展和容错的流式计 算引擎。如图3所示structured Streaming将流式的数据整体看成一张无界表, 将每一条流入的数据看成无界的输入表,对输入进行处理会生成结果表。生成结 果表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 终于 有人 Flink 设计 理念 基本 架构 明白
限制150内