2013-03-22 137 views
0

我需要在級聯hadoop中創建緩衝區。級聯(緩衝區)實現

假設我有字段:

member_id,amountpaid,diadnosis_id,diagnosis_description,superGrouper_id,superGrouper_descriptiion,grouperId,grouperDescription

我需要

  1. 組從member_id領域和superGrouper_id
  2. send這些信息利用一切管緩衝
  3. 緩衝輸出應該是:member_id,最高支付從superGrouper排序,最高支付從grouperId排序,從diagnosis_id最高支付,與他們一起描述...

請幫助我創建一個緩衝區。 在此先感謝

+0

沒有人可以解決這個問題.. :( – Rach 2013-03-22 11:52:03

+0

你可以發佈你期望的輸入和輸出嗎?然後,我會盡力爲你提供答案,其實它不是很清楚。 – ramzavil 2017-05-05 06:15:24

回答

1

您不需要自定義緩衝區。使用Cascading中內置的Max聚合器。 Cascading Docs

然後您只需在GroupBy後運行Max。

pipe = new GroupBy(pipe, new Fields("member_id", "superGrouper_id"); 
pipe = new Every(pipe, new Fields("amountpaid"), new Max(new Fields("max_paid")); 
0

,你可以做到以下幾點:

pipe = new GroupBy(pipe, new Fields("member_id", "superGrouper_id"), new Fields("superGrouper", "grouperId", "")); 
pipe = new Every(pipe, FirstNBuffer(int n)); 

我很抱歉,如果我錯了。你的問題不是很清楚。