2019-03-16 Spark基本架构及运行原理

Spark Core:

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

Spark SQL:

Spark处理结构化数据的库,就像Hive SQL,Mysql一样,企业中用来做报表统计。

Spark Streaming:

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

MLlib:

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

Graphx:

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

Hadoop MapReduce缺点:

1 表达能力有限

2 磁盘IO开销大,任务之间的衔接涉及IO开销

3 延迟高,Map任务要全部结束,reduce任务才能开始。

Spark借鉴Hadoop MapReduce优点的同时,解决了MapReuce所面临的问题,有如下优点:

1. Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供多种数据集操作类型,编程模型比Hadoop MapReduce更灵活。

2. Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算效率更高

4. Spark基于DAG的任务调度执行机制,要优于Hadoop MapReduce的迭代执行机制。

---------------------


基本概念:

https://blog.csdn.net/zxc123e/article/details/79912343

一个Application由一个Driver和若干个Job构成,一个Job由多个Stage构成,一个Stage由多个没有Shuffle关系的Task组成。

你可能感兴趣的:(2019-03-16 Spark基本架构及运行原理)