intwritable.set(intwritable)引发错误

lnlaulya  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(355)

在hadoop中编写测试customdata的示例代码时。我得到以下错误:
intwritable类型中的方法集(int)不适用于参数(intwritable)
我已经查过了 set 方法 IntWritable.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 但没有奏效。
谢谢

kqlmhetl

kqlmhetl1#

应该是:

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

set的方法签名为 set(int value) ,所以你必须 get() 来自 IntWritable .

相关问题