目录
官网:https://spark.apache.org/
一、什么是Spark
spark:分布式计算框架,类似hadoop生态圈中的MapReduce(MR分布式计算框架),计算思想和MR相似
都是分而治之的思想
Spark比MR火
二、Spark的现状
2016年底 1000组织正在使用spark
三、spark优势
spark的计算效率比MR要高100倍以上
因为
1、速度speed
1、有向sql无环图,
2、查询优化器(主要用于Spark SQL)
SQL -> sparkSQL ->spark任务 -> 分布式集群中计算
SQL ->Hive -> MR任务 -> 分布式集群中计算
虽然Hive的计算能力不行,但Hive非常适合做数据仓库
3、物理执行引擎
4、资源复用
5、粗粒度的资源调度
2、使用方便
1、支持使用多门语言
2、Spark提供了80多种方法(算子)来供我们使用
scala语言:
基于JVM的编程语言
java和scala可以无缝集成
都是由.class ->JVM
scala和python有99%的相似性
scala简洁方便,但是可读性差
3、强通用性
Spark SQL:通过一条SQL语句在海量数据上查询
Spark Streaming: 流式处理(每产生一条数据就会立马对这条数据进行处理)框架
流式处理框架:Spark Streaming、storm、flink
批处理(等一段时间的数据,在未来的某个时间点,对这些数据进行批量处理)框架
批处理框架:MR、Spark Core
4、强适应性
1、Spark Application 可以运行在各种各样的资源调度框架上,如Yarn、Mesos、 Standalone
2、可接收上百种数据源 Access data in HDFS, Alluxio, Apache Cassandra, Apache HBase, Apache Hive, and hundreds of other data sources.
四、Spark中的数据模型RDD
RDD(Resilient Distributed Datasets)弹性的分布式数据集
在Spark中一切计算都是基于RDD计算的
Spark分布式计算框架
HDFS分布式存储框架
假设Spark处理的数据在HDFS