Hadoop WritableComparable接口
来源:互联网 发布:成都 程序员版 编辑:程序博客网 时间:2024/05/22 13:02
WritableComparable接口
Writable接口大家可能都知道,它是一个实现了序列化协议的序列化对象。在Hadoop中定义一个结构化对象都要实现Writable接口,使得该结构化对象可以序列化为字节流,字节流也可以反序列化为结构化对象。那WritableComparable接口是可序列化并且可比较的接口。MapReduce中所有的key值类型都必须实现这个接口,既然是可序列化的那就必须得实现readFiels()和write()这两个序列化和反序列化函数,既然也是可比较的那就必须得实现compareTo()函数,该函数即是比较和排序规则的实现。这样MR中的key值就既能可序列化又是可比较的。下面几符图是API中对WritableComparable接口的解释及其方法,还有一个实现了该接口的对象的列子:
public interface WritableComparable<T>
- extends Writable, Comparable<T>
A Writable
which is alsoComparable
.
WritableComparable
s can be compared to each other, typically via Comparator
s. Any type which is to be used as a key
in the Hadoop Map-Reduce framework should implement this interface.
Example:
public class MyWritableComparable implements WritableComparable { // Some data private int counter; private long timestamp; public void write(DataOutput out) throws IOException { out.writeInt(counter); out.writeLong(timestamp); } public void readFields(DataInput in) throws IOException { counter = in.readInt(); timestamp = in.readLong(); } public int compareTo(MyWritableComparable w) { int thisValue = this.value; int thatValue = ((IntWritable)o).value; return (thisValue < thatValue ? -1 : (thisValue==thatValue ? 0 : 1)); } }
- Hadoop WritableComparable接口
- Hadoop WritableComparable接口
- Hadoop 之 WritableComparable 接口
- Hadoop WritableComparable接口
- Hadoop 之 Writable , WritableComparable 接口
- Hadoop WritableComparable接口收集的知识
- Hadoop WritableComparable
- Hadoop源码分析:Writable接口和WritableComparable接口
- hadoop WritableComparable与WritableComparator
- Writable接口 与 WritableComparable接口
- Hadoop自定义实现Writable/WritableComparable接口的类方法及应用
- Hadoop 实现WritableComparable的类
- Hadoop mapreduce自定义排序WritableComparable
- hadoop的WritableComparable与Writable
- Hadoop mapreduce自定义排序WritableComparable
- WritableComparable
- Hadoop中Writable和WritableComparable区别
- Hadoop中Writable和WritableComparable区别
- SHELL TR命令
- ios中解析获取pdf目录及相对应的页数
- test
- js中的setTimeout()的用法
- 正则表达式中的特殊字符
- Hadoop WritableComparable接口
- Hibernate复杂关系映射
- android 4.0硬件加速下渲染过程中如何调整页面大小适应屏幕
- Termios
- ubuntu系统文件夹目录说明
- 微博APP营销面临的三道坎:渠道推广、用户体验、精准性
- linux常用命令
- HDU1236排名(排序)
- 黑马程序员--02.JDK5部分新特性--02【枚举】