蜗龙徒行-Spark学习笔记【一】初识Spark形成、演进、发展

【一】Hadoop版本演进过程

           由于Hadoop1.X 以前版本在 MapReduce 基本构架的设计上存在作业主控节点(JobTracker)单点瓶颈、作业执行延迟过长、编程框架不灵活等较多的缺陷和不足,2011 年 10 月,Hadoop 推出了基于新一代构架的 Hadoop0.23.0 测试版,该版本系列最终演化 为Hadoop2.0 版 本, 即 新 一 代 的 Hadoop 系 统 YARN。2013 年 10 月 YARN 已经发展出 Hadoop2.2.0 稳定版。

【二】何为并行计算框架Mapreduce?

                  MapReduce 作为一个并行计算框架,它提供了一个包含 Map 和 Reduce 两阶段的并行处理模型和过程,提供了一个并行化编程模型和接口,让程序员可以方便快速地编写出大数据并行处理程序。

【三】何为Spark?

            Spark 是基于 map reduce 算法实现的分布式计算框架,但不同的是 Spark 的中间输出和结果输出可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地用于数据挖掘与机器学习等需要迭代的 mapreduce 的算法中。 Spark 作为一套用 scala 写成的分布式内存计算系统,很好地结合了分布式系统和函数式语言。Spark 的独门秘籍便是“打造结构上一体化、功能上多元化的高效数据流水线。”

【四】Spark相比于Hadoop所具有的优势?

            快速:基于 Spark 内存的计算比 Hadoop MapReduce 快 100 倍以上,基于磁盘的计算也要快10 倍以上。

            易用:提供多语言(包括 scala,java,python)API,能够快速实现应用,相比 MapReduce 有更简洁的代码,安装部署也无需复杂的配置。使用 API 可以轻松地构建分布式应用程序,当然也可以使用 Scala 和 Python 脚本进行交互式编程。
            通用:提供了一个强大的技术栈,包括查询语言 Spark SQL, 机器学习工具 MLlib,图计算工具 GraphX,实时流处理工具 Spark Streaming,在同一个应用程序可以把这些框架进行无缝的连接使用,而 Hadoop 的技术栈则相对独立也较为复杂,各个框架都是独立的系统,给集成带来很大的复杂性和不确定性,而 Spark 目的在于构建一个结构上一体化、功
能上多元化高效数据流水线技术栈。

            集成Hadoop:Spark 可以运行在第二代 Hadoop 集群管理 Yarn 上,这使得 Spark 可以读取Hadoop 任何数据,如果你已经有第二代 Hadoop 集群,那么你无需安装则可以直接运行Spark,Spark 很容易运行在 standalone 或者 EC2 或者 Mesos 上。它能读取 HDFS, HBase,Cassandra 以及任何 Hadoop 数据源。



参考资料:【Spark专刊】Spark最佳学习路径(作者:黄忠)









你可能感兴趣的:(蜗龙徒行-Spark学习笔记【一】初识Spark形成、演进、发展)