一,spark历史
诞生于2009年,加州大学伯克利分校RAD实验室的一个研究项目,最初是基于Hadoop Mapreduce 的,
发现Mapreduce在迭代式计算和交互式上低效,引入了内存存储。
2010年3月份spark开源
2011年AMP实验室在spark上开发高级组件,例如:spark Streaming
2013年转移到了Apache下,不就成了顶级项目
二,spark特点
1,spark是快速的: spark扩充了Mapreduce计算模型,spark是基于内存的运算;
2,spark是通用的:spark的设计容纳了其他分布式系统拥有的功能,批处理,迭代式计算,交互查询和流处理等,
优点:降低了维护成本。
三,spark组件
spark包括多个紧密集成的组件
Spark Core:
包含spark的基本功能,包括任务调度,内存管理,容错机制等,
内部定义了RDDs(弹性分布式数据集)
提供了很多APi来创建和操控这些RDDs
为其他组件提供底层的服务
Spark SQL :
spark处理结构化数据的库,就行mysql,hive sql 一样,
企业中用来做报表统计
Spark Streaming:
实时数据流处理组件,类似storm
其提高了api来提供实时流数据
企业主用来从kafka接受数据做实时统计
Mlib:
一个包含通用机器学习功能的包,Machine learning lib,
包含分类,聚类,归类等,还包括模型评估和数据导入,都支持集群横向扩展
Graphx:
图形处理的库,并进行图的并行运算,像spark sql ,spark Streaming 一样,它也继承了RDDs API
提供了各种图的操作,和常用的图算法,例如:PangeRank算法,
应用场景:图计算
Cluster Managers :
集群管理,spark自带一个集群管理是单独调度器,常见的集群管理包括 Hadoop YARN , Apache mesos
给大家推荐一个大数据学习交流群 806025609,群里会有学习大数据的资料和学习路线分享,大家碰到什么问题也可以得到解答。欢迎大家来一起交流学习!~