Spark入门

Spark:

 一、历史

         1、诞生于2009年,加州大学伯克利分校RAD实验室的一个研究项目,最初是基于Hadoop MapReduce的,发现MapReduce在迭代式计算和交互式上低效,引入内存存储

         2、2010年3月份Spark开源

         3、2011年在AMP实验室开发出高级组件,像Spark Streaming

         4、2013年成为Apache顶级项目

 

二、特点

         1、快速的(Spark扩充了流行的MapReduce计算模型,Spark是基于内存的计算)

         2、通用的(Spark的设计容纳了其他分布式系统拥有的功能(降低维护成本),批处理(hadoop)、迭代式计算(机器学习)、交互查询(hive)和流处理(storm))

         3、高度开放(Spark提供了Python、Java、Scala、SQL的API和丰富的内置库,和其他的大数据工具整合的很好,包括hadoop、kafka等)

 

三、紧密集成的优点

         Spark是紧密集成的,优化了Spark底层,基于Spark底层的组件,也得到了相应的优化

         紧密集成,节省了各个组件的使用时的部署、测试时间

         向Spark增加新的组件时,其他组件,可立即享用新组件的功能

 

四、组件

         1、Spark Core

                   包含Spark基本功能,包含任务调度、内存管理、容错机制等

                   内部定义了RDDs(弹性分布式数据集)

                   提供了很多APIs来创建和操作RDDs

                   应用场景,为其他组件提供底层的服务

         2、Spark SQL

                   是处理结构化数据的库,像Hive Sql、MySQL一样

                   应用场景,企业中用来做报表统计

         3、Spark Streaming

                   是实时数据流处理组件,类似Storm

                   Spark Streaming提供API来操作实时流数据

                   应用场景,企业中用来从kafka接收数据做实时统计

         4、Mlib

                   一个包含通用机器学习功能的包,Machine learning lib

                   包含分类、聚类、回归等,还包括模型评估,和数据导入

                   MLib提供的上面的这些方法,都支持集群上的横向扩展(之前机器学习大多用Python,缺点就是单机的,不能做集群)

                   应用场景,机器学习

         5、Graphx

                   是处理图的库(例如,社交网络图),并进行图的并行运算

                   像Spark Streaming,Spark SQL一样,它也继承了RDD API

                   它提供了各种图的操作,和常用的图算法,例如PangRank算法

                   应用场景,图计算

         6、Cluster Managers

                   就是集群管理,Spark自带一个集群管理的单独调度器

                   常见的集群管理包括Hadoop YARN、Apache Mesos

 

posted @ 2018-08-22 15:35  小驳客  阅读(128)  评论(0)    收藏  举报