自定义Bean对象
为满足mapper、reducer阶段特殊的输入或输出(如:有多个字符信息的输入、输出信息)为实现序列化功能,需要自定义对象,作为输入或输出。以TestBean对象为例
1.创建TestBean对象,实现Writable或WritableComparable接口
public class TestBean implements Writable{}
publice class TestBean implements WritableComparable<TestBean>{}
2.设置空参构造方法和构造方法
根据具体代码内参数来设置构造方法
//空参构造方法,反序列化要调用空参构造方法
public TestBean(){
super()
}
3.序列化和反序列化
序列化和反序列化方法不要写反了,序列化和反序列化方法内顺序要保持一致。
//序列化
@Override
public void write(DataOutput out) throws IOException {
out.write...(XXX); //...表示输入数据的类型,String用UTF代替;XXX表示参数名称
}
//反序列化
@Override
public void readFields(DataInput in) throws IOException {
XXX=in.read...(); //...表示输入数据的类型,String用UTF代替;XXX表示参数名称
}
4.重写toString方法
5.设置setter和getter方法
6.compar