spark-5.sparkcore_2_RDD的創建與類型

1.RDD的創建

1).從集合中創建RDD。

方法1

def makeRDD[T: ClassTag]( seq: Seq[T], numSlices: Int = defaultParallelism): RDD[T]

standalone模式下的並行度defaultParallelism:conf.getInt(“spark.default.parallelism”, math.max(totalCoreCount.get(), 2))

方法2

 def parallelize[T: ClassTag](seq: Seq[T],numSlices: Int = defaultParallelism): RDD[T]

方法3

def makeRDD[T: ClassTag](seq: Seq[(T, Seq[String])]): RDD[T]

可以爲單個數據對象設置存放的節點。
例如:

scala> sc.makeRDD(Array((1,List("slave01")),(2,List("slave02"))))

2).從外部存儲創建RDD。

將HDFS中的RELEASE文件導入到spark。

val data= sc.textFile("hdfs://master:9000/RELEASE")

3).從其它RDD轉換。

2.RDD的類型

1)數值型RDD,單個值的類型。

RDD[Int]、RDD[(Int,Int)] 、RDD[(Int,(Int,Int))]
源碼文件:RDD.scala

2)鍵值對RDD

RDD[(Int,Int)]、RDD[(Int,(Int,Int))]
源碼文件:PairRDDFunctions.scala

注:所有鍵值對RDD都可以使用數據型RDD的操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章