自定义对象根据Key和Value分为二种情况
1. bean放在value中传输
如果需要将自定义的bean放在value中传输,则实现Writable接口,自定义的bean实现 的接口应该是:
public class FlowBean implements Writable<FlowBean>
2 . bean放在key中传输
如果需要将自定义的bean放在key中传输,则实现WritableComparable接口,因为mapreduce框中的shuffle过程一定会对key进行排序,此时,自定义的 bean实现的接口应该是:
public class FlowBean implements WritableComparable<FlowBean>
WritableComparable源码:
public interface WritableComparable<T> extends Writable, Comparable<T> {}
这两种自定义类型,我们会在后面的案例中有具体使用。