上QQ阅读APP看书,第一时间看更新
三、大数据并行计算框架
MapReduce架构能够满足“先存储后处理”的离线批量计算需求,但存在局限性,最大的问题是时延过大,难以适用于机器学习迭代、流处理等实时计算任务,也不适合针对大规模图数据等特定数据结构的快速运算。因此在MapReduce基础上,多种不同的并行计算技术路线开始出现。如Yahoo提出的S4系统、Twitter的Storm系统是针对“边到达边计算”的实时流计算框架,可在一个时间窗口上对数据流进行在线实时分析,已经在实时广告、微博等系统中得到应用。2010年Google公布的Dremel系统是一种交互分析引擎,几秒钟就可完成PB级数据查询操作。此外,还出现了将MapReduce内存化以提高实时性的Spark框架、针对大规模图数据进行了优化的Pregel系统等。
针对不同计算场景建立和维护不同计算平台的做法,硬件资源难以复用,管理运维也很不方便,研发适合多种计算模型的通用架构成为热点,如Apache Hadoop社区在2013年10月发布的Hadoop 2. 0中推出了新一代的MapReduce架构。新架构的主要变化是将旧版本MapReduce中的任务调度和资源管理功能分离,形成一层与任务无关的资源管理层(YARN),如图1-3-7所示。YARN对下负责物理资源的统一管理,对上可支持批处理、流处理、图计算等不同模型,为统一大数据平台的建立提供了新平台。基于新的统一资源管理层开发适应特定应用的计算模型,仍将是未来大数据技术发展的重点。
图1-3-7 Hadoop YARN