Spark 06 補充部分運算元 一

2021-09-28 20:45:29 字數 1654 閱讀 7045

transformation

作用在k,v格式的rdd上。根據k進行連線,對(k,v)join(k,w)返回(k,(v,w))

合併兩個資料集。兩個資料集的型別要一致。

取兩個資料集的交集,返回新的rdd與父rdd分割槽多的一致

取兩個資料集的差集,結果rdd的分割槽數與subtract前面的rdd的分割槽數一致。

與map類似,遍歷的單位是每個partition上的資料。

當呼叫型別(k,v)和(k,w)的資料上時,返回乙個資料集(k,(iterable,iterable)),子rdd的分割槽與父rdd多的一致。

action

遍歷的資料是每個partition的資料。

package ddd.henu.transformations

import org.apache.spark.rdd.rdd

import org.apache.spark.

object elsefun )*/

/**結果

* name = george,v1 = 22,v2 = 100

* name = kk,v1 = 20,v2 = 300

* name = honey,v1 = 19,v2 = 200

* name = mm,v1 = 18,v2 = 10000

*//**結果

* (george,(22,some(100)))

* (kk,(20,some(300)))

* (honey,(19,some(200)))

* (mm,(18,none))

*///rightouterjoin

// val result: rdd[(string, (option[int], int))] = namerdd.rightouterjoin(scorerdd)

/*** (ll,(none,400))

* (george,(some(22),100))

* (kk,(some(20),300))

* (honey,(some(19),200))

*///fullouterjoin

// val result: rdd[(string, (option[int], option[int]))] = namerdd.fullouterjoin(scorerdd)

/*** (ll,(none,some(400)))

* (george,(some(22),some(100)))

* (kk,(some(20),some(300)))

* (honey,(some(19),some(200)))

* (mm,(some(18),none))

*///union(合併) 8 個分割槽 4+4

val result: rdd[(string, int)] = namerdd.union(scorerdd)

/*** (george,22)

* (honey,19)

* (kk,20)

* (mm,18)

* (george,100)

* (honey,200)

* (kk,300)

* (ll,400)

*/result.foreach(println)

}}

Spark常用運算元講解一

map是對rdd中的每個元素都執行乙個指定的函式來產生乙個新的rdd,rdd之間的元素是一對一關係。x sc.parallelize 1,2,3,4 y x.map lambda x x 3 y.collect 1,8,27,64 對rdd元素進行過濾,返回乙個新的資料集,由經過func函式後返回值...

第一部分 PL SQL安裝補充 註冊碼

plsql developer 13.0.0.1883 註冊碼 非常感謝adosea提供的pl sql 13.0.0.提供的註冊碼 產品編號 product code 4vkjwhfeh3ufnqnmpr9brvcuyujrx3n3le 序列號 serial number 226959 密碼 pas...

程序執行緒 自己的總結(先寫一部分,隨後再補充)

個人揣測,剛開始,人們寫完程式,要進行除錯。除錯的過程中,程式在人的思維中不是死的,而是運動著的。於是慢慢有了程序的概念。所謂程序,說白了就是正在執行中的程式相關的一些內涵外延等。程式要執行,一般要把可執行的 載入進記憶體,然後跳到這段程式的起始位址執行。起初階段,可能只有乙個程序被執行,之後隨著多...