Hadoop中有哪些数据类型

本篇文章为大家展示了Hadoop中有哪些数据类型,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

我们提供的服务有:网站制作、网站设计、微信公众号开发、网站优化、网站认证、雁塔ssl等。为超过千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的雁塔网站制作公司

       一.  Hadoop内置的数据类型

  • BooleanWritable:标准布尔型数值

  • ByteWritable:单字节数值

  • DoubleWritable:双字节数值

  • FloatWritable:浮点数

  • IntWritable:整型数

  • LongWritable:长整型数

  • Text:使用UTF8格式存储的文本

  • NullWritable:当中的key或value为空时使用

         Hadoop中的数据类型都要实现Writable接口,以便用这些类型定义的数据可以被网络传输和文件存储。

                                    二. 用户自定义数据类型的实现

     1.继承接口Writable,实现其方法write()和readFields(), 以便该数据能被序列化后完成网络传输或文件输入/输出;

     2.如果该数据需要作为主键key使用,或需要比较数值大小时,则需要实现WritalbeComparable接口,实现其方法write(),readFields(),CompareTo() 。

     3.数据类型,必须要有一个无参的构造方法,为了方便反射,进行创建对象。    

     4.在自定义数据类型中,建议使用java的原生数据类型,最好不要使用Hadoop对原生类型进行封装的数据类型。eg.int x;//IntWritable String s; //Text

public class Point3D implements WritableComparable

{

    private float x,y,z;

    public float getX(){return x;}

    public float getY(){return y;}

    public float getZ(){return z;}

    public Point3D (){}

    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(大于)

    }

}

上述内容就是Hadoop中有哪些数据类型,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


分享名称:Hadoop中有哪些数据类型
URL链接:http://myzitong.com/article/pjodec.html