一、Transformation
map(func) 傳回一個新的分布式資料集,由每個原元素經過函數處理後的新元素組成
filter(func) 傳回一個新的資料集,經過fun函數處理後傳回值為true的原元素組成
flatMap(func) 類似于map,但每個輸入元素會被映射為0個或多個輸出元素
mapPartitions(func) 類似于map,對RDD的每個分區起作用
intersection(otherDataset) 求兩個RDD的交集
distinct([numTasks]) 傳回一個包含源資料集中所有不重複元素的新資料集
groupByKey([numTasks]) 在一個由(K,V)對組成的資料集上調用,傳回一個(K,Seq[v])對組成的資料集。
reduceByKey(func,[numTasks]) 在一個(K,V)對組成的資料集上調用,傳回一個(K,V)對的資料集
sortByKey([ascending],[numTasks]) 在類型為(K,V)的資料集上調用,傳回以K為鍵進行排序的(K,V)對資料集。
二、Action操作
reduce(func) 通過函數func聚集結果集中的所有元素
collect() 在Driver的程式中,以數組的形式傳回資料集中的所有資料。
count() 傳回元素的個數
foreach(func) 在資料集的每一個元素上,運作函數func,通常用于更新一個累加器變量,或者和外部存儲系統進行互動。
執行transformation操作時,spark并沒有開始計算,隻是将執行的任務封裝成DAG,直到碰到action操作時 才真正送出叢集 開始計算。