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...
程序執行緒 自己的總結(先寫一部分,隨後再補充)
個人揣測,剛開始,人們寫完程式,要進行除錯。除錯的過程中,程式在人的思維中不是死的,而是運動著的。於是慢慢有了程序的概念。所謂程序,說白了就是正在執行中的程式相關的一些內涵外延等。程式要執行,一般要把可執行的 載入進記憶體,然後跳到這段程式的起始位址執行。起初階段,可能只有乙個程序被執行,之後隨著多...