Spark 常用運算元

2021-10-05 18:31:10 字數 3683 閱讀 8933

官網rdd操作指南

2)key-value資料型別的transfromation運算元

三、連線

3)action運算元

val list =

list(1

,2,3

)sc.

parallelize

(list)

.map

(_ *10)

.foreach

(println)

// 輸出結果: 10 20 30 (這裡為了節省篇幅去掉了換行,後文亦同)

val list =

list

(list(1

,2),

list(3

),list()

,list(4

,5))

sc.parallelize

(list)

.flatmap

(_.tolist)

.map

(_ *10)

.foreach

(println)

// 輸出結果 : 10 20 30 40 50

val list =

list(1

,2,3

,4,5

,6)sc.

parallelize

(list,3)

.(iterator =

>

buffer.toiterator})

.foreach

(println)

//輸出結果

100200

300400

500600

var rdd1 = sc.

parallelize

(array(10

,20,30

,40,50

,60),

4)rdd1.glom.collect

//輸出結果

array

(array(10

),array(20

,30),

array(40

),array(50

,60))

val list1 =

list(1

,2,3

)val list2 =

list(4

,5,6

)sc.

parallelize

(list1)

.union

(sc.

parallelize

(list2)).

foreach

(println)

// 輸出: 1 2 3 4 5 6

val list1 =

list

("a"

,"b"

,"c"

)val list2 =

list(1

,2,3

)sc.

parallelize

(list1)

.cartesian

(sc.

parallelize

(list2)).

foreach

(println)

//輸出笛卡爾積

(a,1

)(a,2)

(a,3

)(b,1)

(b,2

)(b,3)

(c,1

)(c,2)

(c,3

)

//建立乙個 rdd,按照元素的奇偶性進行分組

val rdd1 = sc.

makerdd

(array(1

,3,4

,20,4

,5,8

))rdd1.

groupby

(x =

>

if(x %2==

1)"odd"

else

"even"

).collect

//輸出結果

array

((even,

compactbuffer(4

,20,4

,8))

,(odd,

compactbuffer(1

,3,5)))

val list =

list(3

,6,9

,10,12

,21)sc.

parallelize

(list)

.filter

(_ >=10)

.foreach

(println)

// 輸出: 10 12 21

val list =

list(1

,2,2

,4,4

)sc.

parallelize

(list)

.distinct()

.foreach

(println)

// 輸出: 4 1 2

// 每 個 方 框 是 一 個 rdd 分 區。 

//通 過 sample 函 數, 採 樣 50% 的 數 據。

//v1、 v2、 u1、 u2、u3、u4 取樣出資料 v1 和 u1、 u2 形成新的 rdd。

//計算結果

array((

1,),

(10,),

(11,),

(4,),

(20,),

(10,

))

單個rdd聚集

兩個rdd聚集

返回的是乙個含前k個元素的陣列。

Spark常用運算元練習

package cn.allengao.exercise import org.apache.spark.class name package describe sparkrdd運算元練習 creat user allen gao creat date 2018 1 25 creat time 10...

Spark常用運算元 action

spark action常用運算元型別如下 1.collectasmap map k,v 二元組rdd轉為map資料型別 countbykey map k,long 統計rdd中每個key出現的次數,還回map型別表示每個key出現了幾次 countbyvalue map t,long 統計rdd中...

spark常用運算元詳解

1.map 接收乙個函式,對於rdd中的每乙個元素執行此函式操作,結果作為返回值。eg val rdd sc.parallelize array 1,2,3,4 1 rdd.map x x x foreach println x x x 將元素x做平方處理,scala語句 sparkcontext....