組織資料形式:
aa 11
bb 11
cc 34
aa 22
bb 67
cc 29
aa 36
bb 33
cc 30
aa 42
bb 44
cc 49
需求:1、對上述資料按key值進行分組
2、對分組後的值進行排序
3、擷取分組後值得top 3位以key-value形式返回結果
答案如下:
val grouptopnrdd = sc.textfile("hdfs://db02:8020/user/hadoop/groupsorttop/groupsorttop.data")
grouptopnrdd.map(_.split(" ")).map(x => (x(0),x(1))).groupbykey().map(
x =>
).collect
整合一條語句後結果如下:
sc.textfile("hdfs://db02:8020/user/hadoop/groupsorttop/groupsorttop.data").map(_.split(" ")).map(x => (x(0),x(1))).groupbykey().map(
x =>
).collect
可以將結果直接儲存在hdfs檔案系統上。
Spark的二次排序
1 資料樣本 1 52 4 3 61 3 2 11 14 2 45 4 11 3 23 5 12 6 13 2 排序規則 先按照第乙個字元排序,如果第乙個相同,再按照第二個字元排序 3 排序後的結果 1 31 5 1 14 2 12 4 2 45 3 63 23 4 11 5 12 6 13 4 s...
Spark中的二次排序
首先要先定義乙個自定義的型別,實現scala提供的ordered介面並實現其方法,方法就是排序的邏輯。這裡我對兩列數字進行排序,如下 package cn.spark.study.core class secondarysortkey val first int,val second int ext...
SQLServer 行轉列,統計,二次分組
create table test bizdate datetime,日期 classes varchar 50 班次 白班 或 夜班 qty int 產量 insert into test select 2011 04 01 白班 154 union select 2011 04 01 白班 40...