我需要在级联hadoop中创建一个缓冲区。
假设我有字段:
member_id,amountpaid,diadnosis_id,diagnosis_description,superGrouper_id,superGrouper_descriptiion,grouperId,grouperDescription
我需要
member_id
和superGrouper_id
member_id
,来自superGrouper
的最高付费排序,来自grouperId
的最高付费排序,来自diagnosis_id
的最高付款及其说明。 请帮我创建一个缓冲区。 提前致谢
答案 0 :(得分: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"));
答案 1 :(得分:0)
您可以执行以下操作:
pipe = new GroupBy(pipe, new Fields("member_id", "superGrouper_id"), new Fields("superGrouper", "grouperId", ""));
pipe = new Every(pipe, FirstNBuffer(int n));
如果我错了,我很抱歉。你的问题不太清楚。