在编写示例代码以测试 hadoop 中的customdata时。我收到以下错误:



我已经检查了setIntWritable.set(int value)方法。
我如何将hadoop的IntWritable转换为Int,然后再转换回IntWritable#set,方法将转换回IntWritable

public class customText implements Writable{

private Text depName;

//default constr
private IntWritable depId;
customText(){
    this.depName = new Text();
    this.depId = new IntWritable();

}

customText(Text depName , IntWritable depId ){

    this.depName.set(depName);
    this.depId.set(depId);

我也尝试过this.depid=depId,但没有成功。

谢谢

最佳答案

它应该是:

customText(Text depName , IntWritable depId ){
    this.depName.set(depName);
    this.depId.set(depId.get());
}

set的方法签名为set(int value),因此您必须从get()中对int进行IntWritable

10-06 09:04