Spark学习笔记
1.什么是Spark
spark是一种快速,通用,可扩展的大数据分析引擎,集成了大数据相关的各种能力。Hadoop的中间结果需要存储在硬盘上,这就产生了较高的延迟。而Spark基于内存计算,解决了这个延迟的速度问题。Spark本身可以直接读写Hadoop上任何格式数据,这使得批处理更加快速。
2.为什么要学习Spark
spark是mapredurce的替代方案,而且兼容HDFS,Hive,可融入Hadoop的生态系统,以弥补Mapredurce的不足。
3.Spark角色介绍
spark架构使用了分布式计算中的master-salve模型,master是集群中有master进程的节点,salve是集群中含有worker进程的节点。
a:Driver Program:运行main函数并且新建SparkContext的程序。
b:Application:基于Spark的应用程序,包含了driver程序和集群上的executor。
c:Cluster Manager:指的是在集群上获取资源的外部服务。目前有三种类型:
1:Standalone:spark原生的资源管理,由Master负责资源的分配
2:Apache Mesos:与hadoop MR兼容性良好的一种资源调度框架
3:Hadoop Yarn:主要是指Yarn中的ResourceManager
d:WorkNode:集群中任何可以运行Application代码的节点,在Standalone模式中指的是通过salves文件配置的work节点,在Spark on Yarn模式中指的就是NodeManager节点。
e:Executor:是在一个worker node上为某个应用启动的一个进程,还进程负责执行任务,并且负责将数据存在内存或者磁盘上。每个应用都有各自独立的executor。
f:Task:被送到某个executor上的工作单元。