Spark中的二次排序

2021-07-11 16:17:42 字數 642 閱讀 2080

首先要先定義乙個自定義的型別,實現scala提供的ordered介面並實現其方法,方法就是排序的邏輯。這裡我對兩列數字進行排序,**如下:

package cn.spark.study.core

class secondarysortkey(val first : int, val second : int) extends ordered[secondarysortkey] with serializable else } }

package cn.spark.study.core

import org.apache.spark.sparkconf

import org.apache.spark.sparkcontext

val sc = new sparkcontext(conf)

val lines = sc.textfile("", 1)

val pairs = lines.map

val sortedpairs = pairs.sortbykey();

val sortedlines = sortedpairs.map(sortedpair => sortedpair._2)

sortedlines.foreach

}

}

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...

hadoop中的二次排序

hadoop 中的另一種定製的排序手段就是二次排序 對value進行排序 二次排序步驟如下 準備工作對乙個文字中資料進行排序,找出每年的最高氣溫 public void makedata throws ioexception fw.close 1.自定義組合key 將key和value組合在一起 自...

Hadoop Streaming二次排序

由於hadoop機器記憶體不足,所以需要把資料mapred進來跑。這樣,就需要,同乙個key下的輸入資料是有序的,即 對於keya的資料,要求data1先來,之後data2再來 所以需要對data進行二次排序。d stream.num.map.output.key.fields 2 這個,可以設定在...