美文网首页
自定义MapReduce的类型

自定义MapReduce的类型

作者: 有点胖的小乐乐 | 来源:发表于2016-02-04 15:58 被阅读20次

##

`package org.apache.hadoop.mapreduce.io;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import org.apache.hadoop.io.WritableComparable;/*** * customize writable eg.order *  * @author nele *  */public class OrderWritable implements WritableComparable{

private String orderId;

private float price;

public OrderWritable() {

}

public OrderWritable(String orderId, float price) {

set(orderId, price);

}

public void set(String orderId, float price) {

this.orderId = orderId;

this.price = price;

}

public String getOrderId() {

return orderId;

}

public void setOrderId(String orderId) {

this.orderId = orderId;

}

public float getPrice() {

return price;

}

public void setPrice(float price) {

this.price = price;

}

public void write(DataOutput out) throws IOException {

out.writeUTF(orderId);

out.writeFloat(price);

}

public void readFields(DataInput in) throws IOException {

this.orderId = in.readUTF();

this.price = in.readFloat();

}

public int compareTo(OrderWritable o) {

int comp = this.orderId.compareTo(o.orderId);

if (comp == 0) {

return Float.valueOf(this.price).compareTo(Float.valueOf(o.price));

}

return comp;

}

@Override

public String toString() {

return  orderId + "\t" + price;

}

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + ((orderId == null) ? 0 : orderId.hashCode());

result = prime * result + Float.floatToIntBits(price);

return result;

}

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

OrderWritable other = (OrderWritable) obj;

if (orderId == null) {

if (other.orderId != null)

return false;

} else if (!orderId.equals(other.orderId))

return false;

if (Float.floatToIntBits(price) != Float.floatToIntBits(other.price))

return false;

return true;

}

}

`

相关文章

网友评论

      本文标题:自定义MapReduce的类型

      本文链接:https://www.haomeiwen.com/subject/wqwgxttx.html