Spark概述
Spark 简介
Spark官网为: http://spark.apache.org/, Spark也是用于海量数据处理的计算框架. 官方对Spark的定义是:
Apache Spark™ is a unified analytics engine for large-scale data processing.
翻译过来是: Spark是用于大规模数据处理的统一分析引擎。
Spark最初由美国加州伯克利大学(UCBerkeley)的AMP(Algorithms, Machines and People)实验室于2009年开发. Spark是基于内存计算的大数据并行计算框架, 可用于构建大型的、低延迟的数据分析应用程序. 2013年, Spark加入Apache孵化器项目后, 开始迅猛发展, 如今已成为Apache软件基金会最重要的三大分布式计算系统开源项目之一.
Spark作为大数据计算平台的后起之秀, 在2014年打破了Hadoop保持的基准排序 (Sort Benchmark) 纪录, 使用206个节点在23分钟的时间里完成了100TB数据的排序; 而Hadoop则是使用2000个节点在72分钟的时间里完成同样数据的排序. 也就是说, Spark仅使用了Hadoop十分之一的计算资源, 获得了比Hadoop快3倍的速度. 新纪录的诞生, 使得Spark获得多方追捧, 也表明了Spark可以作为一个更加快速、高效的大数据计算平台.
Spark具有如下几个主要特点:
- 运行速度快, 高效: Spark使用先进的DAG(Directed Acyclic Graph, 有向无环图)执行引擎, 以支持循环数据流与内存计算, 减少了迭代过程中的数据落地. 基于内存的执行速度可比MapReduce快上百倍, 基于磁盘的执行速度能快十倍