一、Spark框架是什么
- 定义:Apache Spark是用于大规模数据处理的统一分析引擎
- RDD:RDD是一种分布式内存抽象,其使得程序员能够在大规模集群中做内存运算,并且有一定的容错方式。而这也是整个Spark的核心数据结构,Spark整个平台都围绕着RDD进行
- 优点:Spark借鉴了MapReduce思想发展而来,保留了其分布式并行计算的优点并改进了其明显的缺陷。让中间数据存储在内存中提高了运行速度、并提供丰富的操作数据的API提高了开发速度
二、Spark框架快的原因
1.数据结构(编程模型):Spark框架核心
- RDD:弹性分布式数据集,认为是列表List
- Spark框架将要处理的数据封装到集合RDD中,调用RDD中函数处理数据
- RDD数据可以放到内存中,内存不足可以放到磁盘中
2.Task任务运行方式:以线程Thread方式运行
- MapReduce中Task是以进程Process方式运行,但是Spark Task以线程Thread方式运行
- 线程Thread运行在进程Process中,启动和销毁是很快的(相对于进程来说)