輔助排序
需求:訂單資料
求出每個訂單中最貴的商品?
訂單id正序,成交金額倒序。
結果檔案三個,每個結果檔案只要一條資料
public class orderbean implements writablecomparable
public orderbean(int order_id,double price)
getter;
setter;
//序列化
@override
public void write(dataoutput out) throws ioexception
//反序列化
@override
public void readfields(datainput in) throws ioexception
@override
public string tostring()
//排序id,在比較**
@override
public int compareto(orderbean o) else if(order_id<0.order_id) else }}
string line = value.tostring();
string fields = line.split("\t");
integer order_id = integer.parseint(fields[0]);
double price = double.parsedouble(fields[2]);
context.write(new orderbean(order_id, price),nullwritable.get());} }
public class orderpartitioner extends partitioner
}//輔助排序
public class ordergroupingcomparator extends writablecomparator
public int compare(writablecomparable a,writablecomparable b)else if(abean.getorder_id()
}public class orderreducer extends reducer
}public class orderdriver
}
hadoop mr 全域性排序
全域性排序 需求 根據使用者每月使用的流量按照使用的流量多少排序 介面 writablecomparable 排序操作在hadoop中屬於預設的行為。預設按照字典順序排序。排序的分類 1 部分排序 2 全排序 3 輔助排序 4 二次排序 封裝類,直接完成排序 public class flowbea...
使用演算法實踐(輔助) 計數排序
文章 計數排序 今天學習了計數排序,貌似計數排序的複雜度為o n 很強大。他的基本思路為 1.我們希望能線性的時間複雜度排序,如果乙個乙個比較,顯然是不實際的,書上也在決策樹模型中論證了,比較排序的情況為nlogn的複雜度。2.既然不能乙個乙個比較,我們想到乙個辦法,就是如果我在排序的時候就知道他的...
Hadoop MR程式設計中main 函式引數注入
下面介紹mapreduce的主要的六個類,只有了解了這六個類的作用,才能在編寫程式中知道哪個類是要自己實現,哪些類可以呼叫預設的類,才能真正的做到游刃有餘,關於需要自己編寫的類 使用者制定類 可以參考 inputformat類。該類的作用是將輸入的檔案和資料分割成許多小的split檔案,並將spli...