一、Spark概述
### --- 什么是Spark
~~~ Spark是当今大数据领域最活跃、最热门、最高效的大数据通用计算引擎
~~~ 2009年诞生于美国加州大学伯克利分校AMP 实验室
~~~ 2010年通过BSD许可协议开源发布
~~~ 2013年捐赠给Apache软件基金会并切换开源协议到切换许可协议至 Apache2.0
~~~ 2014年2月,Spark 成为 Apache 的顶级项目
~~~ 2014年11月, Spark的母公司Databricks团队使用Spark刷新数据排序世界记录
~~~ Spark 成功构建起了一体化、多元化的大数据处理体系。在任何规模的数据计算中,
~~~ Spark 在性能和扩展性上都更具优势
### --- spark官网
~~~ spark中文文档:http://spark.apachecn.org/#/
~~~ spark官方地址:http://spark.apache.org/
### --- Spark 是一个快速、通用的计算引擎。Spark的特点:
~~~ # 速度快。
~~~ 与 MapReduce 相比,Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上。
~~~ Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流;
~~~ # 使用简单。
~~~ Spark支持 Scala、Java、Python、R的API,还支持超过80种高级算法,
~~~ 使用户可以快速构建不同的应用。而且Spark支持交互式的Python和Scala的shell,
~~~ 可以非常方便地在这些shell中使用Spark集群来验证解决问题的方法;
~~~ # 通用。
~~~ Spark提供了统一的解决方案。Spark可以用于批处理、交互式查询(Spark SQL)、
~~~ 实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX)。
~~~ 这些不同类型的处理都可以在同一个应用中无缝使用。
~~~ Spark统一的解决方案非常具有吸引力,企业想用统一的平台去处理遇到的问题,
~~~ 减少开发和维护的人力成本和部署平台的物力成本;
~~~ # 兼容好。
~~~ Spark可以非常方便地与其他的开源产品进行融合。
~~~ Spark可以使用YARN、Mesos作为它的资源管理和调度器;
~~~ 可以处理所有Hadoop支持的数