Hadoop 提供的数据类型有很多种,使用这些类型定义的数据可以被序列化进而进行网络传输和文件存储,及大小比较等。
- Text: 使用UTF8格式存储的文本 对应 Java 的 String
- ByteWritable: 单字节数值 对应 Java 的 byte
- DoubleWritable: 双字节数 对应 Java 的 double
- FloatWritable: 浮点数 对应 Java 的 float
- IntWritable: 整型数 对应 Java 的 int
- LongWritable: 长整型数 对应 Java 的 long
- BooleanWritable: 标准布尔型数值 对应 Java 的 boolean
- NullWritable 对应 Java 的 null
- Java 数据类型转 Hadoop 数据类型
1、通过构造方法进行转换
//将Java的int类型变量23封装成Hadoop的整形类IntWritable对象
IntWritable age = new IntWritable(23);
2、通过set()进行转换
// 将Java的int类型变量23封装成Hadoop的整形类IntWritable对象
IntWritable age = new IntWritable();
age.set(23);
- Hadoop 数据类型转 Java 数据类型
1、对于 Text 类型使用 toString() 方法进行转换
// 将Hadoop的Text对象转换成String的文本类型字符串
String str = text.toString()
2、对于其它类型使用 get() 方法进行转换
// 将Hadoop的IntWritable对象转换成int的整形数据
IntWritable age new IntWritable(23);
int number = age.get();