大資料學習 sparkRDD

2022-03-21 22:17:21 字數 2096 閱讀 6353

練習1:map、filter

//通過並行化生成rdd

val rdd1 = sc.parallelize(list(5, 6, 4, 7, 3, 8, 2, 9, 1, 10))

//對rdd1裡的每乙個元素乘2然後排序

val rdd2 = rdd1.map(_ * 2).sortby(x => x, true)

//過濾出大於等於十的元素

val rdd3 = rdd2.filter(_ >= 10)

//將元素以陣列的方式在客戶端顯示

rdd3.collect

練習2:flatmap

val rdd1 = sc.parallelize(array("a b c", "d e f", "h i j"))

//將rdd1裡面的每乙個元素先切分在壓平

val rdd2 = rdd1.flatmap(_.split(' '))

rdd2.collect

練習3:交集、並集

val rdd1 = sc.parallelize(list(5, 6, 4, 3))

val rdd2 = sc.parallelize(list(1, 2, 3, 4))

//求並集

val rdd3 = rdd1.union(rdd2)

//求交集

val rdd4 = rdd1.intersection(rdd2)

//去重

rdd3.distinct.collect

rdd4.collect

練習4:join、groupbykey

val rdd1 = sc.parallelize(list(("tom", 1), ("jerry", 3), ("kitty", 2)))

val rdd2 = sc.parallelize(list(("jerry", 2), ("tom", 1), ("shuke", 2)))

//求jion

val rdd3 = rdd1.join(rdd2)

rdd3.collect

//求並集

val rdd4 = rdd1 union rdd2

//按key進行分組

rdd4.groupbykey

rdd4.collect

練習5:cogroup

val rdd1 = sc.parallelize(list(("tom", 1), ("tom", 2), ("jerry", 3), ("kitty", 2)))

val rdd2 = sc.parallelize(list(("jerry", 2), ("tom", 1), ("shuke", 2)))

//cogroup

val rdd3 = rdd1.cogroup(rdd2)

//注意cogroup與groupbykey的區別

rdd3.collect

練習6:reduce

val rdd1 = sc.parallelize(list(1, 2, 3, 4, 5))

//reduce聚合

val rdd2 = rdd1.reduce(_ + _)

rdd2.collect

練習7:reducebykey、sort

val rdd1 = sc.parallelize(list(("tom", 1), ("jerry", 3), ("kitty", 2),  ("shuke", 1)))

val rdd2 = sc.parallelize(list(("jerry", 2), ("tom", 3), ("shuke", 2), ("kitty", 5)))

val rdd3 = rdd1.union(rdd2)

//按key進行聚合

val rdd4 = rdd3.reducebykey(_ + _)

rdd4.collect

//按value的降序排序

圳鵬大資料 spark Rdd的預設分割槽

1.spark.default.parallelism 2.檔案塊的大小 spark.default.parallelism 預設的併發數 本地模式下spark.default.parallelism spark shell 和spark default.conf相關預設為4 spark shell...

spark RDD處理資料集

package com.hicore.exercise import org.apache.log4j.import org.apache.spark.sparkcontext import org.apache.spark.rdd.rdd import org.apache.spark.sql.s...

大資料學習

1.資料清洗 洗掉髒資料,對資料最後一步審核和糾正,包括一致性檢查,無效資料,不完整資料,衝突資料,重複資料等的處理,計算機自動完成。2.資料傾斜 資料傾斜就是我們在計算資料的時候,資料的分散度不夠,導致大量的資料集中到了一台或者幾台機器上計算,這些資料的計算速度遠遠低於平均計算速度,導致整個計算過...