RDD–abstract class extends Serializalble
RDD是spark的基石
1.弹性分布式数据集(分区,不可变)
2.由几个分区来构成,几个partition就有几个分区
3.函数作用于每个分区,对每个分片做计算
3.和其他的rdd有一系列的依赖
4.分区器(k,v)
5.移动计算 > 移动数据,运行在block块所在的机器上
五大方法
-
protected def getPartitions: Array[Partition]
-
def compute(split: Partition, context: TaskContext): Iterator[T]
-
protected def getDependencies: Seq[Dependency[_]] = deps
-
protected def getPreferredLocations(split: Partition): Seq[String] = Nil
-
sparkContext就是一个筐,什么都往里面装
-
硬编码:
val SparkConf=newSparkConf.setMaster("local[2]").setAppName("kaolaTest")
val sc = new SparkContext(sparkConf)
- 灵活的写法:spark-submit --master --name