0
compareTo過程中更改密鑰中的值在使用自定義密鑰的mapreduce作業的compareTo過程中,有更改實例變量的值的方法嗎? (我有一些問題,因爲它使用兩種方法讀取和寫入數據= readFields(DataInput in)和write(DataOutput out),並且它只在第一次將對象寫入框架,而我無法修改其餘部分過程)在hadoop mapreduce
我有此代碼爲我的我的自定義鍵
@Override
public int compareTo(MultipleText m1) {
for(Writable one : m1.getChiavi().keySet())
{
if(this.chiavi.keySet().contains(one))
{
if(this.chiavi.get(one).equals(m1.getChiavi().get(one)))
if(!strutturaTab.equals(m1.getStrutturaTab()))
{
// if(this.chiavi.size()>m1.getChiavi().size())
// m1.setChiaviComplete(this.chiavi);
// else if(this.chiavi.size()<m1.getChiavi().size())
// this.setChiaviComplete(m1.getChiavi());
return 0;
}
return 1;
}
return 2;
}
return -1;
}
的的compareTo註釋行是doesen't作品
當它減少相法getChiaviComplete(行)返回null,這是我初始化和寫入時的值(使用write(DataOutput out)方法)實例變量(chiaviComplete )