練習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.資料傾斜 資料傾斜就是我們在計算資料的時候,資料的分散度不夠,導致大量的資料集中到了一台或者幾台機器上計算,這些資料的計算速度遠遠低於平均計算速度,導致整個計算過...