Spark的出现
Apache Spark:
1.一个大规模数据处理同一分析引擎
2.最初由美国加州破壳利大学的AMP实验室开发
3.基于内存计算的大数据并行计算框架
4.用于构建大型的、低延迟的数据分析应用程序

Spark的特点
1.速度快
采用先进的DAG调度程序
查询优化器
物理执行引擎

2.容易使用
提供了超过80种高级运算符
支持多种语言进行编程
Spark Shell交互式编程

3.完整强大的技术栈
SQL查询
流式计算
机器学习
图计算组件

4.运行模式多样
可运行与独立的集群模式中
可运行与Hadoop中
可以访问HDFS数据源
可以访问Hive数据源等等

Spark的优势:
1.Spark的数据分析作业中输出结果可以保存在内存中,极大地提高了效率
2.Spark提供了更多的数据集操作的方法,提升了灵活性
3.Spark基于DAG(有向无环图)的任务掉地执行机制,要优于hadoop的迭代执行机制
4.代码开源,关注人数众多
5.打码贡献者众多
6.发展潜力巨大

Spark基本流程框架
1.驱动程序:
整个数据分析的入口
创建、准备数据分析所需要的运行环境
申请集群资源和任务分配等

2.工作程序:
程序运行在工作节点中
在对应节点的分区上对数据执行处理任务
伪分布式环境下,工作程序使用线程进行模拟

Spark基本概念
RDD:弹性分布式数据集
弹性:可以在失败的情况下回重建
分布式:转化为可并行化的操作
数据集:跨集群节点加载和分区的数据

Partition:
数据分区
一个RDD的数据可以划分为多少个分区

Task:
具体执行的任务
Task分为ShuffleMapTask和ResultTask两种:
ShuffleMapTask和ResultTask分别类似于Hadoop中的Map和Reduce

job:
用户提交的作业
一个job可能有一到多个Task组成

Stage:
job分成的阶段
一个job可能划分为一到多个Stage

DAG:
DAG:有向无环图
用于反映各RDD之间的依赖关系

Execution:
执行的基本单位为:Tasks
Tasks 按照Stages分组并行运行

Spark的核心组件

相关文章: