排序sort:
马克-to-win @ 马克java社区:防盗版实名手机尾号:73203。注意:想自己实现Sort得不偿失,但如想借助Hadoop MapReduce技术框架排序,key必须实现WritableComparable接口。具体做法见下。需求是先按id比,再按amount比。
package com;
import org.apache.hadoop.io.WritableComparable;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
public class OrderBeanSort implements WritableComparable<OrderBeanSort>{
private String orderId;
private Double amount;
private Double average=0.0;
public Double getAverage() {
return average;
}
public void setAverage(Double average) {
this.average = average;
}
public OrderBeanSort() {
}
public OrderBeanSort(String orderId, Double amount) {
this.orderId = orderId;
this.amount = amount;
}
public void set(String orderId, Double amount) {
this.orderId = orderId;
this.amount = amount;
}
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
public Double getAmount() {
return amount;
}
public void setAmount(Double amount) {
this.amount = amount;
}
public void write(DataOutput out) throws IOException {
out.writeUTF(orderId);
out.writeDouble(amount);
out.writeDouble(average);
}
更多请见:https://blog.youkuaiyun.com/qq_44594249/article/details/97236398
本文介绍如何在Hadoop MapReduce框架中实现自定义排序,通过实现WritableComparable接口完成复杂数据结构的排序需求,示例代码展示了根据订单ID和金额进行排序的具体实现。
1077

被折叠的 条评论
为什么被折叠?



