mapreduce中用户自定义数据类型
mapreduce中用户自定义数据类型
hadoop内置的数据类型:
BooleanWritable
ByteWritable
DoubleWritable
FloatWritable
IntWritable
LongWritable
Text
NullWritable
自定义数据类型时第一个基本的要求是实现Writable接口,如果该数据要被作为主键key使用的话还必须实现WritableComparable接口
public class Point3D implemants WritableComparable<Point3D>{private float x,y,z;public float getX(){return x;}public float getY(){return y;}public float getZ(){return z;}public void readFields(DataInput in)throws IOException{x = in.readFloat();y = in.readFloat();z = in.readFloat();}public void write(DataOutput out)throws IOException{out.writeFloat(x);out.writeFloat(y);out.writeFloat(z);}public int compareTo(Point3D p){//具体实现比较当前的空间坐标点this(x,y,z)与指定的点p(x,y,z)的大小//并输出-1(小于),0(等于),1(大于)}}
?