value型別:
map():每次處理一條資料。
作用:將每乙個分割槽形成乙個陣列,形成新的rdd型別時rdd[array[t]]
需求:建立乙個4個分割槽的rdd,並將每個分割槽的資料放到乙個陣列
作用:分組,按照傳入函式的返回值進行分組。將相同的key對應的值放入乙個迭代器。
需求:建立乙個rdd,按照元素模以2的值進行分組。
作用:過濾。返回乙個新的rdd,該rdd由經過func函式計算後返回值為true的輸入元素組成。
需求:建立乙個rdd(由字串組成),過濾出乙個新rdd(包含」xiao」子串)
作用:以指定的隨機種子隨機抽樣出數量為fraction的資料,withreplacement表示是抽出的資料是否放回,true為有放回的抽樣,false為無放回的抽樣,seed用於指定隨機數生成器種子。
需求:建立乙個rdd(1-10),從中選擇放回和不放回抽樣
作用:對源rdd進行去重後返回乙個新的rdd。預設情況下,只有8個並行任務來操作,但是可以傳入乙個可選的numtasks引數改變它。
需求:建立乙個rdd,使用distinct()對其去重。
作用:縮減分割槽數,用於大資料集過濾後,提高小資料集的執行效率。
需求:建立乙個4個分割槽的rdd,對其縮減分割槽
作用:根據分割槽數,重新通過網路隨機洗牌所有資料。
需求:建立乙個4個分割槽的rdd,對其重新分割槽
coalesce和repartition的區別
coalesce重新分割槽,可以選擇是否進行shuffle過程。由引數shuffle: boolean = false/true決定。
repartition實際上是呼叫的coalesce,預設是進行shuffle的。原始碼如下:
def repartition(numpartitions: int)(implicit ord: ordering[t] = null): rdd[t] = withscope
作用;使用func先對資料進行處理,按照處理後的資料比較結果排序,預設為正序。
需求:建立乙個rdd,按照不同的規則進行排序
作用:管道,針對每個分割槽,都執行乙個shell指令碼,返回輸出的rdd。
注意:指令碼需要放在worker節點可以訪問到的位置
RDD轉換運算元 單值value
sparks運算元總結 lvalue型別 1 map def map u classtag f t u rdd u 單值處理邏輯 將處理的資料逐條進行對映轉換,這裡的轉換可以是型別的轉換,也可以是值的轉換。val datardd rdd int sparkcontext.makerdd list 1...
RDD轉換運算元和行動運算元的區別
textfile 既不是transformation 也不是 action 它是為生成rdd前做準備 運算元 指的就是rdd上的方法。spark中的運算元分為2類 1 轉換運算元 transformation 由rrd 呼叫方法 返回乙個新的rdd 一直存在drive中因為沒生成task 特點 生成...
RDD運算元怎麼區分轉換運算元和行動運算元
textfile 既不是transformation 也不是 action 它是為生成rdd前做準備 運算元 指的就是rdd上的方法。spark中的運算元分為2類 1 轉換運算元 transformation 由rrd 呼叫方法 返回乙個新的rdd 一直存在drive中因為沒生成task 特點 生成...