TaskScheduler:实现Task分配到Executor上执行。
Task:运行在Executor上的工作单元
Job:SparkContext提交的具体Action操作,常和Action对应
Stage:每个Job会被拆分很多组任务(task),每组任务被称为Stage,也称TaskSet
RDD:Resilient Distributed Datasets的简称,弹性分布式数据集,是Spark最核心的模块和类
Transformation/Action:SparkAPI的两种类型;Transformation返回值还是一个RDD,Action返回值不少一个RDD,而是一个Scala的集合;所有的Transformation都是采用的懒策略,如果只是将Transformation提交是不会执行计算的,计算只有在Action被提交时才会被触发。
DataFrame: 带有Schema信息的RDD,主要是对结构化数据的高度抽象。
DataSet:结合了DataFrame和RDD两者的优势,既允许用户很方便的操作领域对象,又具有SQL执行引擎的高效表现。
28、RDD提供了两种类型的操作:transformation和action
1,transformation是得到一个新的RDD,方式很多,比如从数据源生成一个新的RDD,从RDD生成一个新的RDD
2,action是得到一个值,或者一个结果(直接将RDD cache到内存中)
3,所有的transformation都是采用的懒策略,就是如果只是将transformation提交是不会执行计算的,计算只有在action被提交的时候才被触发
29、RDD中关于转换(transformation)与动作(action)的区别
前者会生成新的RDD,而后者只是将RDD上某项操作的结果返回给程序,而不会生成新的RDD;无论执行了多少次transformation操作,RDD都不会真正执行运算(记录lineage),只有当action操作被执行时,运算才会触发。
30、RDD 与 DSM(distributed shared memory)的最大不同是:
RDD只能通过粗粒度转换来创建,而DSM则允许对每个内存位置上数据的读和写。在这种定义下,DSM不仅包括了传统的共享内存系统,也包括了像提供了共享 DHT(distributed hash table) 的 Piccolo 以及分布式数据库等。