Spark Basic RDD 操作示例

2021-08-01 22:04:36 字數 2251 閱讀 1832

基本 rdd 的 transformation

假設有乙個 rdd ,其中的元素有 :

函式目的

示例結果

map()將函式應用到 rdd 中的每乙個元素並以 rdd 的形式返回結果

rdd.map(x => x+1)

flatmap()將函式應用到 rdd 中的每乙個元素,並以 rdd 的形式返回 iterator 的內容。通常用於提取詞語。

rdd.flatmap(x => x.to(3))

filter()返回乙個 rdd, 該 rdd 中僅包含了能夠通過filter()函式的元素

rdd.filter(x => x != 1)

distinct()去除重複項

rdd.distinct()

兩個 rdd 的 transformation

假設有兩個 rdd, 分別包含了 和 :

函式目的

示例結果

union()並集,生成乙個包含了兩個 rdd 元素的 rdd

rdd.union(other)

intersection()交集,生成 rdd 包含了在兩個 rdd 中同時出現的元素

rdd.intersection(other)

subtract()移除乙個 rdd 中的內容

rdd.subtract(other)

cartesian()以另乙個 rdd 的 笛卡爾積

rdd.cartesian(other), …, (3, 5)

假設有乙個 rdd ,其中的元素有 :

函式目的

示例結果

collect()返回 rdd 中的所有元素

rdd.collect()

count()rdd 中的元素數目

rdd.count()4

countbyvalue()rdd 中每個元素出現的次數

rdd.countbyvalue()

take(num)返回 rdd 中的 num 個元素

rdd.take(2)

top(num)返回 rdd 中的前 num 個元素

rdd.top(2)

takeordered(num)(ordering)基於 ordering 返回 num 個元素

rdd.takeordered(2)(myordering)

takesample(withreplacement, num, [seed])隨機返回 num 個元素

rdd.takesample(false, 1)不確定

reduce(func)並行地組合 rdd 中的元素(比如,sum)

rdd.reduce((x, y) => x + y)9

fold(zero)(func)reduce()一樣只是需要提供乙個 0

rdd.fold(0)((x, y) => x + y)9

aggregate(zerovalue)(seqop, combop)reduce()相似,不過用於返回不同型別

rdd.aggregate((0, 0))((x, y) => (x._1 + y, x._2 + 1), (x, y) => (x._1 + y._1, x._2 + y._2))(9, 4)

foreach(func)將 func 應用到 rdd 中的每乙個元素

rdd.foreach(func)

以上內容參見 << learning spark >>, 其**示例可在 github 上找到 learning-spark.

只用 操作實現 , , 操作

減法 a b a b 乘法 a b相當於將a累加abs b 次 除法 相當於將abs a 減去 abs b 的次數 求lhs的反面值rhs,即求rhs使得lhs rhs 0 int negate int lhs return ret int abs int lhs 返回i的絕對值 lhs rhs l...

PYB操作 ADC操作

1.配置pyb內部adc 2.配置pyb內部dac 這裡由於nano沒有dac這裡就不貼出 操作了 1.putty 2.pyb nano adc 模擬訊號轉換為數字量 是嵌入式中最常用的功能之一,在micropython 同樣也提供了相應的函式,可以直接讀取 adc 轉換的結果。在pyboard中,...

Habse API操作(刪除操作)

根據rowkey刪除整行的所有列族 所有行 所有版本 public static void deleterow string tablename,string rowkey throws ioexception 刪除某個row的指定列 public static void deletecol str...