Spark
Posted yayazhang221
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark相关的知识,希望对你有一定的参考价值。
1、Spark是什么
Spark是一个高性能内存处理引擎,它提供了基于RDD的数据抽象,能够灵活处理分布式数据集
2、Spark核心概念
RDD:弹性分布式数据集,它是一个只读的、带分区的数据集合,并支持多种分布式算子。由下面5部分构成:
- 一组partition
- 每个partition的计算函数
- 所依赖的RDD列表(即父RDD列表)
- (可选的)对于key-value类型的RDD(每个元素是key-value对),则包含一个Partitioner(默认是HashPartitioner)。
- (可选的)计算每个partition所倾向的节点位置(比如HDFS文件的存放位置)
DAG:Spark是一个通用DAG引擎,这使得用户能够在一个应用程序中描述复杂的逻辑,以便于优化整个数据流(比如避免重复计算等),并让不同计算阶段直接通过本地磁盘或内存交换数据(而不是像MapReduce那样通过HDFS)
3、Spark生态系统
Spark Streaming:基于Spark Core实现的流式计算框架,其基本思想是将流式数据以时间为单位切割成较小的RDD,并启动一个应用程序处理单位时间内的RDD。简而言之,它将流式计算转化成微批处理(micro-batch),借助高效的Spark引擎进行快速计算
Spark SQL:基于Spark实现的SQL引擎,能将SQL转换成Spark应用程序,提交到集群中运行
MLLib:基于Spark实现的机器学习库,实现了常用的机器学习和数据挖掘算法,包括聚类算法、分类算法、推荐算法等
GraphX:基于Spark实现的图计算框架,提供了通用的图存储模式和图计算模式。
以上是关于Spark的主要内容,如果未能解决你的问题,请参考以下文章
SparkSpark ShuffleSpark SQL 及 Spark MLlib