Spark入门

Spark简介

Spark是大数据相关的最活跃的开源项目,是继MapReduce框架之后的下一代大数据处理框架;
Spark是一个开源的内存计算框架,类似于MapReduce,用于使用商业服务器集群来处理和分析数据;
Spark API允许开发者创建分布式应用程序,使用整个集群的资源,而不需要知道所有的底层细节。
Spark和HDFS是合作的关系,Spark把计算得到的东西输出到HDFS上面;
Spark计算框架的优点:
良好的可编程性
Spark程序比相应的

MapReduce应用程序要简单的多。Spark提供了丰富的API。与MapReduce相比,Spark job只需要原有代码量的十分之一。

一个通用的计算引擎,Spark是一个真正通用的处理框架,可用于:批处理、交互式分析、流处理、机器学习、图计算
计算速度快,Spark在MapReduce的性能上提供了100X的改进;(内存操作比磁盘操作快)

Hadoop与MapReduce

Hadoop架构的设计思想----数据不动代码动,即计算处理应该 移动到数据所在的位置;
Spark 继承了这一设计思想,在此之上提供了内存计算、执行计算等优化。
与MapReduce不同,Spark每个job不局限于两个阶段,可以有任意数量的阶段;
Spark不是将复杂算法分成多规格job,而是在job中包含多个stages,使Spark可以进行更多优化

Spark与Hadoop

Spark可以独立运行,但在生产环境中,Spark会读取HDFS上的数据,使用YARN作为资源管理器。在Hadoop集群中,Spark和MapReduce可以 同时使用,以提供数据分布式处理;

计算框架:Spark、MapReduce
资源管理器:YARN
分布式存储:HDFS

Spark工具栈

1、Spark Core是Spark 的主要执行引擎,Spark的所有功能都基于这个引擎。他提供了Spark的主要功能,例如,任务调度、内存管理、故障恢复和处理存储;
2、SparkSql
处理结构化数据,通过SQL和Hive查询语句(HQL)查询数据
3、SparkStreaming
流处理,用于处理流数据
4、MLlib
提供了机器学习算法,如分类,聚类和协同过滤
5、GraphX
图计算,可以操作像社交网络中包含的关系图

你可能感兴趣的:(Spark入门)