文章目录
Spark简介
Spark简介
- 什么是Spark?
- Spark是基于内存计算的通用大规模数据处理框架
- Spark已经融入了Hadoop生态系统,可支持的作业类型和应用场景比MapReduce更为广泛,并且具备了MapReduce所有的高容错性和高伸缩性特点。
为何会诞生Spark?
- 回顾MapReduce
- 并不是所有的问题都可以简单的分解成Map和Reduce两步模型处理
- 并不是所有的问题都可以简单的分解成Map和Reduce两步模型处理
- MapReduce缺点
- 延时高 ✗
- Example:不适合交互式SQL分析
- 迭代计算力不从心 ✗
- Example:斐波那契数列
- 流式数据处理 ✗
- Example:统计网站PV、UV数据
- 延时高 ✗
- Spark
- 一站式解决
- 离线批处理 ✓
- 流式计算 ✓
- 在线实时分析 ✓
- 一站式解决
Spark为何快?
MapReduce
- MapReduce会将中间结果输出到本地磁盘
- 例如Shuffle时Map输出的中间结果
- 例如Shuffle时Map输出的中间结果
- 有多个MapReduce任务串联时,依赖HDFS存储中间结果的输出
- 例如执行Hive查询
- 例如执行Hive查询
- MapReduce在处理复杂DAG时会带来大量的数据copy、序列化和磁盘I/O开销