spark學習-SparkSQL--09-一些函式的使用
阿新 • • 發佈:2019-02-09
1。parallelizePairs餘parallelize
/** Distribute a local Scala collection to form an RDD. */
def parallelizePairs[K, V](list: java.util.List[Tuple2[K, V]], numSlices: Int)
: JavaPairRDD[K, V] = {
implicit val ctagK: ClassTag[K] = fakeClassTag
implicit val ctagV: ClassTag[V] = fakeClassTag
JavaPairRDD.fromRDD(sc.parallelize(list.asScala, numSlices))
}
可以原始碼得到 parallelizePairs=======》呼叫===parallelize
parallelize相當於直接拷貝了原始資料(只不過可以平行計算,初學者可以這樣理解)
parallelizePairs相當於直接拷貝了原始資料並且把第一個資料當做key(形成key-value的形式)
2。
subtractByKey
類似於subtrac,刪掉 RDD 中鍵與 other RDD 中的鍵相同的元素
3。
RDD1.join(RDD2)
可以把RDD1,RDD2中的相同的key給連線起來,類似於sql中的join操作
4。
leftOuterJoin
對兩個 RDD 進行連線操作,類似於sql中的左外連線
5。
rightOuterJoin
對兩個 RDD 進行連線操作,類似於sql中的右外連線,存在的話,value用的Some, 不存在用的None,具體的看上面的圖和下面的程式碼即可
6。
ImmutableBytesWritable 是一個16進位制的一個字串,看不懂 String abc=Bytes.toString(key.get());直接這樣轉一下就可以了,因為中文在hbase中是16進位制儲存