java - SecondarySort -OverrideError(删除注释)

标签 java hadoop mapreduce

eclipse中指出的错误是我必须删除注释替代。即使我尝试删除注释,同样会出现错误,提示该方法必须重新实现

................................................... ......
;;;;;;;;;;;;;;;;;

package com.secondarysort;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;

import org.apache.hadoop.io.WritableComparable;
import org.apache.hadoop.io.WritableUtils;

/**
 * @author mrinmoy
 *
 */
public class CompositeKey implements WritableComparable
{
    public String Text;
    public String count;

    public CompositeKey (String Text,String count)
    {
        this.Text=Text;
        this.count=count;
    }

    public CompositeKey() {
        // TODO Auto-generated constructor stub
    }

    public String getText() {
        return Text;
    }

    public void setText(String text) {
        Text = text;
    }

    public String getCount() {
        return count;
    }

    public void setCount(String count) {
        this.count = count;
    }


    public String toString()
    {
        return (new StringBuilder()).append(Text).append(',').append(count).toString();
    }



    @Override
    public void readFields(DataInput arg0) throws IOException {
        // TODO Auto-generated method stub

        Text = WritableUtils.readString(arg0);
        count=WritableUtils.readString(arg0);
    }

    @Override
    public void write(DataOutput arg0) throws IOException {
        // TODO Auto-generated method stub
        WritableUtils.writeString(arg0,Text);
        WritableUtils.writeString(arg0, count);
    }
    @Override
    public int compareTo(CompositeKey com) {
        // TODO Auto-generated method stub

        int result=Text.compareTo(com.Text);
        if(0==result)
        {
            result=count.compareTo(com.count);
        }
        return result;

    }


}

最佳答案

您需要指定您要覆盖的WritableComparable的通用类型,否则您将无法正确覆盖compareTo。这是因为编译器不会用任何泛型代替Object,因此仅采用compareToCompositeKey不会覆盖它。更改为:

public class CompositeKey implements WritableComparable<CompositeKey> {
    // ...
}

关于java - SecondarySort -OverrideError(删除注释),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26201503/

相关文章:

java - 是否有命令行工具可以优化 Java 项目的导入?

Hadoop MapReduce DBInputFormat 和 DBOutputFormat

java - 如何增加 hadoop 中 map 任务的数量以及如何获取 hadoop mapreduce 作业所花费的总时间

hadoop - 使用 Hadoop 2.6.0 在 Windows 上运行 wordcount Hadoop 示例

mapreduce - CouchDB中的map-reduce函数

java - 具有数据库属性的 ​​Spring bean 也可重新加载

java - Maven `help:effective-pom` 只为单个项目生成,而不是所有项目

java - 为什么 DrawerLayout 在打开时有时会出现故障?

shell - 如何查找文件夹是否存在于 hadoop 中?

hadoop - Sqoop-Hive导入