目录
1 spark 概述
1.1 Spark产生的背景
基于mapreduce的一些缺点,列如只有map和reduce两种操作,延迟高、编写程序复杂、中间结果多次落地到磁盘,等原因,spark继承mapreduce并且对其进行了改良的形成一种新的计算框架。它的优点是使用内存计算,计算快,生态圈完善。包括spark sql spark core spark streaming 机器学习 图计算等。spark 相对于mapreduce会的招式多,除了map reduce以外。有两大类型的算子,分为action 算子 和转换类型的算子。action算子典型的有count、reduceBykey、cllocet等。转换算子典型的有map、key、value 、filter等。spark streaming 可以实现准实时计算。spark是有scala有的,代码量相对于java少很多。
1.2 什么是Spark
Spark,是一种通用的大数据计算框架,正如传统大数据技术Hadoop的MapReduce、Hive引擎,以及Storm流式实时计算引擎等。
Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发的通用内存并行计算框架,用于构建大型的、低延迟的数据分析应用程序。
Spark使用强大的Scala语言开发,它还提供了对Scala、Python、Java(支持Java 8)和R语言的支持。
Apache顶级项目,项目主页:http://spark.apache.org
1.3 Spark历史
2009年由Berkeley's AMPLab开始编写最初的源代码
2010年开放源代码
2013年6月进入Apache孵化器项目
2014年2月成为Apache的顶级项目(8个月时间)
2014年5月底Spark1.0.0发布,打破Hadoop保持的基准排序纪录
2014年12月Spark1.2.0发布
2015年11月Spark1.5.2发布
2016年1月Spark