`
zhaomengsen
  • 浏览: 210621 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

WritableComparable

 
阅读更多
官方给例子  做hadoop开发的都知道
WritableComparable没有自己的方法体。

    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));
       }
     }

一般序列化的类都会继承这个类型  有图为证。
看附件
http://dl2.iteye.com/upload/attachment/0096/8231/68aca470-285e-3c20-9a78-51828497e3a3.jpg
  • 大小: 71.2 KB
分享到:
评论

相关推荐

    MapReduce模型--自定义数据类型

    实现了WritableComparable接口的类,不仅可以将对象写入到Hadoop的数据流中,还能在MapReduce框架中比较这些对象,这对于排序、分组等操作是必不可少的。 接下来,我们以Person类为例,介绍如何自定义一个数据类型...

    大数据第二次作业1

    如果某个数据类型需要作为主键 key 使用,或者需要比较数值大小时,则需要实现 WritableComparable 接口。WritableComparable 接口继承自 Writable 接口,并添加了 compareTo() 方法。compareTo() 方法用于比较两个...

    Hadoop平台技术 排序操作案例.docx

    总结来说,Hadoop的排序机制是通过MapTask和ReduceTask的组合操作实现的,而自定义排序则需要实现WritableComparable接口并重写compareTo方法。这种灵活性使得用户可以根据具体业务需求对数据进行复杂排序,从而优化...

    Hadoop大作业排序.zip

    Writable 的子接口 WritableComparable,重写里面的 write, readFields 6 和 compareTo 方法,所以可以自定义一个类作为 key,类中包含 2 个 需要进行排序的字段,并在类中实现比较算法,先判断 first_name 是 否...

    Hadoop大数据实训,求最高温度最低温度实验报告

    这个类需要实现`WritableComparable`接口,这样Hadoop可以读取、序列化和比较这些对象。`compareTo`方法用于比较两个`YearMaxTAndMinT`实例,确保按照最高气温降序和最低气温升序的规则排序。 ```java public class...

    大数据平台-MapReduce介绍.pdf

    其他重要类与接口包括Configuration类、Job类、Writable接口和WritableComparable接口。Configuration类读取配置文件。Job类配置、提交Job,控制其执行,查询其状态。Writable接口序列化输入输出。...

    HadoopMapReduce-分区、排序、切片等.zip

    public int compare(WritableComparable a, WritableComparable b) { // 自定义比较逻辑 } } ``` ### 3. 切片(Slicing) 切片是指将大文件拆分成多个小块(Block),每个块作为一个单独的输入分片(InputSplit...

    hadoop自定义类型编程

    如果自定义类型还需要作为排序的键(Key),则应实现`org.apache.hadoop.io.WritableComparable&lt;T&gt;`接口。这会额外要求你实现`compareTo(T other)`方法,以定义比较规则。确保此方法的实现符合你的业务需求,例如,...

    15、MapReduce介绍及wordcount

    Hadoop提供了一系列预定义的数据类型,如IntWritable、LongWritable、Text等,它们都实现了WritableComparable接口,可以直接在MapReduce程序中使用。如果需要自定义数据类型,需要实现Writable接口,如果该类型...

    基于Hadoop技术进行地理空间分析.docx

    public int compare(WritableComparable v1, WritableComparable v2) { // 比较逻辑 } ``` 4. **Reduce阶段** Reduce阶段是MapReduce中的最后一个阶段,它的主要任务是对Shuffle阶段产生的键值对进行进一步...

    18Nov_Serialization.docx

    在实际应用中,我们可能会创建自定义的序列化类,例如`UserWritable`,它实现了`WritableComparable`接口,这样不仅可以实现序列化和反序列化,还可以进行比较操作。`UserWritable`类包含多个字段,如姓名、年龄、...

    MapReduce模型--二次排序

    在上述代码示例中,OrderKey类用于封装排序需要的字段,其内部使用WritableComparable接口来定义排序逻辑。定义的比较方法不仅考虑了字段的自然顺序,还考虑了字段值的哈希码,以处理排序时可能产生的冲突。 总之,...

    3月9日线上考试模拟测试.pdf

    * WritableComparable 是 MapReduce 编程模型中键值对的类型。 知识点4:数据库管理系统 * 数据仓库是一个存储数据的仓库,随着时间的变化不断增加新的数据内容。 * 数据仓库中的数据是随着时间的变化不断地进行...

    MapReduce经典例子WordCount运行详解.pdf

    WordCount的实现涉及到了Hadoop自定义的数据类型,如Text和IntWritable,它们实现了WritableComparable接口,便于数据序列化和比较。Map函数解析输入文本,生成&lt;单词, 1&gt;的键值对,reduce函数则将所有相同单词的计数...

    实验报告1

    SortPair是实验的核心数据结构,它实现了`WritableComparable`接口,以满足MapReduce中键值对的序列化和比较需求。SortPair包含两个`IntWritable`类型的变量,分别存储每一行的两个整数值。`write`和`readFields`...

    3月9日线上考试模拟测试.docx

    4. MapReduce编程模型的键值对:WritableComparable。 5. HBase的记录存储方式:列族。 6. 数据挖掘的分类问题:买啤酒的人很大概率也会购买尿布。 7. KDD的全称:数据挖掘与知识发现。 8. 数据挖掘的预测建模:...

    大数据核心技术A卷(word文档良心出品).doc

    - 在MapReduce编程模型中,键值对的Key必须实现`WritableComparable`接口,这是因为Key需要支持比较操作以便于排序和分组。 ### 数据类型与存储 **1. 结构化与非结构化数据** - **结构化数据**: 如ERP数据和财务...

    16、MapReduce的基本用法示例-自定义序列化、排序、分区、分组和topN

    Hadoop提供了默认的Writables接口,如IntWritable、Text等,但当处理自定义对象时,我们需要实现WritableComparable接口来自定义序列化逻辑。例如,你可以创建一个包含日期、县、州、FIPS代码、病例数和死亡病例数的...

    java__Hadoop_MapReduce教程.pdf

    输入和输出的数据格式需实现Writable接口,键需实现WritableComparable接口,以便进行排序。 7. **语言兼容性**:虽然Hadoop框架是用Java实现的,但MapReduce应用程序可以使用多种语言编写,如通过Hadoop Streaming...

    数据分析—排序.pdf

    1. 方案一:创建一个实现`WritableComparable`接口的自定义类,设定泛型为自定义类。在这个类中,你需要定义需要排序的字段,并提供getter和setter方法。然后实现`write`、`readFields`和`compareTo`方法。`write`...

Global site tag (gtag.js) - Google Analytics