该博客已经完全转移到http://sunhs.me
中并增加更多新的技术内容(hadoop为
主),欢迎访问!
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(大于)
}
}