zoukankan      html  css  js  c++  java
  • hadoop自带的writable类型

    Hadoop 中,并没有使用Java自带的基本类型类(Integer、Float等),而是使用自己开发的类。Hadoop 自带有很多序列化类型,大致分为以下两种:

    • 实现了WritableComparable接口的类

      基础:BooleanWritable | ByteWritable

      数字:IntWritable | VIntWritable | FloatWritable | LongWritable | VLongWritable | DoubleWritable

      高级:NullWritable | Text | BytesWritable | MDSHash | ObjectWritable | GenericWritable

    • 仅实现了Writable接口的类

      数组:ArrayWritable | TwoDArrayWritable

      映射:AbstractMapWritable | MapWritable | SortedMapWritable

    为便于理解 Hadoop 自带的 Writable 类型,我们使用以下表格展示 Java 基本类型和 Writable 的对应关系

    Java 基本类型

    Writable 实现

    字节

    boolean

    BooleanWritable

    1

    byte

    ByteWritable

    1

    int

    IntWritable

    4

    float

    FloatWritable

    4

    long

    LongWritable

    8

    double

    DoubleWritable

    8

      针对上述 Hadoop 中的Writable类型,我们只简单介绍一下 Text。Text 类是一种UTF-8 格式的 Writable 类型。可以将它理解为一种与 java.lang.String 类似的 Writable 类型。Text 使用int型在字符编码中存储字节数,最大值是 2GB。它有一个 find() 方法,相当于 Java 的 String 中的 indexOf() 方法。 主要通过 set(byte[] utf8) 方法重用 Text 实例,代码如下

      Text text = new Text("hadoop");//构造一个Text对象

      text.set("autoNavi");//重新赋值

  • 相关阅读:
    [CQOI2009][BZOJ1303] 中位数图
    [JSOI2008][BZOJ1016] 最小生成树计数
    [SCOI2005][BZOJ1083] 繁忙的都市
    [HAOI2006][BZOJ2428] 均分数据
    [HAOI2008][BZOJ1054] 移动玩具
    [ZJOI2006][BZOJ1003] 物流运输trans
    AW241 楼兰图腾
    AW239 奇偶游戏
    AW244 谜一样的牛
    AW278 数字组合(0/1背包)
  • 原文地址:https://www.cnblogs.com/codeOfLife/p/5400427.html
Copyright © 2011-2022 走看看