Spark简介 --大数据

一、Spark是什么?

快速且通用的集群计算平台

二、Spark的特点:

  1. 快速:Spark扩充流行的Mapreduce计算模型,是基于内存的计算
  2. 通用:Spark的设计容纳了其它分布式系统拥有的功能,批处理、迭代式计算、交互查询和流处理等,降低了维护成本
  3. 高度开放:Spark提供Python、Java、Scala、SQL的API和丰富的内置库,Spark和其它的大数据工作整合得很好,包括hadoop、Kafka

三、Spark的组件

1、Spark Core

包含基本功能,包括任务调度、内存管理、容错机制。内部定义了RDDS(弹性分布式数据集),提供了很多APIs来创建和操作这些RDDs。
应用场景:为其它组件提供底层的服务。

2、Spark SQL

Spark处理结构化数据的库,像Hive SQL、MySQL一样。
应用场景:企业中用来做报表统计

3、Spark Streaming

实时数据流处理组件,类似Storm。Spark Streaming提供API来操作实时流数据。
应用场景:企业中用来从Kafka接收数据做实时统计

4、MLlib

一个包含通用机器学习功能的包,Machine learning lib。包含分类、聚类、回归等,还包括模型评估和数据导入。MLlib提供的上面这些方法,都支持集群上的横向扩展。

5、Graphx

处理图的库(例如社交网络图),并进行图的并行计算,像Spark Streaming,Spark SQL一样,它继承了RDD API。提供了各种图的操作,和常用的图算法,例如RangeRank算法
应用场景:图计算

6、Cluster Manager

集群管理,Spark自带一个集群管理是单独调度器。常见的集群管理包括:Hadoop YARN、Apache Mesos

四、紧密集成的优点

Spark底层优化,基于Spark底层的组件,也得到相应的优化。紧密集成,节省了各个组件使用时的部署,测试时间。向Spark增加新的组件时,其它组件可立即享用新组件的功能。

五、Spark和Hadoop比较

Hadoop应用场景:离线处理、对及时性要求不高
Spark应用场景:时效性要求高、机器学习等领域

posted @ 2019-05-09 21:18  牛新龙的IT技术博客  阅读(3212)  评论(0编辑  收藏  举报