实现WritableComparable接口的类大多数(在io包中的都可以)可以作为MapReduce中Mapper或Reducer的key-value数据类型。在hadoop框架中自带实现WritableComparable接口的类(FlowBean是自定义的)有:
可以看出,自带的类实现了对整形,浮点型,布尔型及String(Text类)的封装,都是比较简单的数据类型,在实际应用中通常需要自定义数据类型。在写自定义数据类之前首先分析一下自带的LongWritable数据类型,如下:
public class LongWritable implements WritableComparable<LongWritable> {
private long value;
public LongWritable() {}
public LongWritable(long value) { set(value); }
/** Set the value of this LongWritable. */
public void set(long value) { this.value = value; }
/** Return the value of this LongWritable. */
public long get() { retu