熱線電話:13121318867

登錄
首頁精彩閱讀Hadoop內置的數據類型_大數據
Hadoop內置的數據類型_大數據
2014-09-12
收藏

一、Hadoop內置的數據類型

BooleanWritable:標準布爾型數值
ByteWritable:單字節數值
DoubleWritable:雙字節數值
FloatWritable:浮點數
IntWritable:整型數
LongWritable:長整型數
Text:使用UTF8格式存儲的文本
NullWritable:當<key, value>中的key或value為空時使用

二、用戶自定義數據類型的實現

1.繼承接口Writable,實現其方法write()和readFields(), 以便該數據能被序列化后完成網絡傳輸或文件輸入/輸出;

2.如果該數據需要作為主鍵key使用,或需要比較數值大小時,則需要實現WritalbeComparable接口,實現其方法write(),readFields(),CompareTo() 。

public class Point3D implements Writable<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 class Point3D implements 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(大于)


    }


}

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢