Spark计算框架
Spark是以MapReduce为基础在其上进行功能扩展的集群计算框架。spark计算面向是RDD(resilient distributed dataset)分区内集合元素可并行操作 RDD是种编程抽象,代表可以跨机器进行分割的只读对象集合,所有对数据操作都需通过RDD处理。 RDD操作: create :通过hfile 或 scala collection作为数据源 transformation :处理计算转换,map,flatmap,filter controler :对中间结果可存储在memory 或file供其它RDD数据复用 actions :驱动RDD执行计算 Spark程序是一个惰性计算,通过action调用来驱动代码被分发到集群上,由各个RDD分区上的worker来执行,然后结果会被发送回驱动程序进行聚合处理。 即,驱动程序创建一个或多个RDD,调用transform来转换RDD,然后调用reduce处理被转换后的RDD。在程序处理数据过程中使用的是pipleLine方式。 程序执行流程: Spark Components: 角色组成: Driver program: 由SparkContext创建,运行在main方法 Cluster manager: 获取集群内资源(模式standalone ,Mesos, YARN