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");//重新赋值

hadoop自带的writable类型的更多相关文章

  1. Hadoop Serialization hadoop序列化详解(最新版) (1)【java和hadoop序列化比较和writable接口】

    初学java的人肯定对java序列化记忆犹新.最开始很多人并不会一下子理解序列化的意义所在.这样子是因为很多人还是对java最底层的特性不是特别理解,当你经验丰富,对java理解更加深刻之后,你就会发 ...

  2. Hadoop学习笔记—5.自定义类型处理手机上网日志

    转载自http://www.cnblogs.com/edisonchou/p/4288737.html Hadoop学习笔记—5.自定义类型处理手机上网日志 一.测试数据:手机上网日志 1.1 关于这 ...

  3. hadoop中实现定制Writable类

    Hadoop中有一套Writable实现可以满足大部分需求,但是在有些情况下,我们需要根据自己的需要构造一个新的实现,有了定制的Writable,我们就可以完全控制二进制表示和排序顺序. 为了演示如何 ...

  4. 几个有关Hadoop自带的性能测试工具的应用

    http://www.talkwithtrend.com/Question/177983-1247453 一些测试的描述如下内容最为详细,供你参考: 测试对于验证系统的正确性.分析系统的性能来说非常重 ...

  5. 利用Hadoop自带example实现wordCount

    上次虽然把环境搭好了,但是实际运行起来一堆错误,下面简述一下踩的坑. 1.hadoop fs -put上传文件失败,WARN org.apache.hadoop.hdfs.server.datanod ...

  6. hadoop自带例子wordcount的具体运行步骤

    1.在hadoop所在目录“usr/local”下创建一个文件夹input root@ubuntu:/usr/local# mkdir input 2.在文件夹input中创建两个文本文件file1. ...

  7. 执行hadoop自带的WordCount实例

    hadoop 自带的WordCount实例可以统计一批文本文件中各单词出现的次数.下面介绍如何执行WordCount实例. 1.启动hadoop [root@hadoop ~]# start-all. ...

  8. Hadoop_05_运行 Hadoop 自带 MapReduce程序

    1. MapReduce使用 MapReduce是Hadoop中的分布式运算编程框架,只要按照其编程规范,只需要编写少量的业务逻辑代码即可实现 一个强大的海量数据并发处理程序 2. 运行Hadoop自 ...

  9. hadoop自带例子SecondarySort源码分析MapReduce原理

    这里分析MapReduce原理并没用WordCount,目前没用过hadoop也没接触过大数据,感觉,只是感觉,在项目中,如果真的用到了MapReduce那待排序的肯定会更加实用. 先贴上源码 pac ...

随机推荐

  1. 横向技术分析C#、C++和Java优劣

    转自横向技术分析C#.C++和Java优劣 C#诞生之日起,关于C#与Java之间的论战便此起彼伏,至今不辍.抛却Microsoft与Sun之间的恩怨与口角,客观地从技术上讲,C#与Java都是对传统 ...

  2. DPI/PPI/dp/sp/px/pt 移动设计手册

    转自DPI/PPI/dp/sp/px/pt 移动设计手册 做移动设计的同学,不管是原生app或者web app,应该对字体字号都是很头痛的问题.根本原因是,我们用唯一分辨率的电脑,设计各个不同尺寸大小 ...

  3. 树莓派(jessie)制作服务并开机启动

    /etc/init.d/xware #!/bin/sh ### BEGIN INIT INFO # Provides: svn_serve # Required-Start: $remote_fs # ...

  4. Nginx+Varnish又开始新的征程了

    要自己多测试一下.总觉得机器不够用.

  5. oracle 安装, oem 不能正常使用,em安装失败、找不到dbconsole服务

    OracleDBControl启动失败Unable to determine local host from URL REPOSITORY_URL=http://your-url.co 通过emca创 ...

  6. Asp.Net MVC向视图View传值的三种常见的方法:

    1.通过View( parameter )的参数传递 action: public ActionResult Index() { Person person=new Person("wumi ...

  7. HDU-1846 Brave Game

    http://acm.hdu.edu.cn/showproblem.php?pid=1846 (一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最 ...

  8. 邮件发送小demo

    //send email public static bool SendEmail() { //实例化发件人地址 MailAddress from = new MailAddress("aa ...

  9. poj 2425 A Chess Game(SG函数)

    A Chess Game Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 3551   Accepted: 1440 Desc ...

  10. mac上的键盘生活——打字训练

    我的打字真的很有问题,错误率实在是太高了,于是乎下定决心改掉打字习惯,起码为了对得起我的机械键盘   所谓双击键(shift)就是当一个键钮上有两个字符时的辅助选择键,像标注在数字1上的 !,就是在你 ...