0
사용자 정의 키로 mapreduce 작업의 compareTo 동안 인스턴스 변수의 값을 변경하는 방법이 있습니까? (읽기 및 쓰기 두 가지 방법으로 데이터를 = readFields (DataInput에서) 및 쓰기 (DataOutput out) 때문에 몇 가지 문제가 있고 처음에는 프레임 워크에 개체를 씁니다 및 나머지 부분에 대해 수정할 수 없습니다. 과정)hadoop mapreduce에서 compareTo 동안 키의 값을 변경
내가
@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와이 코드를 주석 처리 된 줄은 작품
이 상에게 방법 getChiaviComplete을 줄이기 위해 간다
을 (doesen't 라인은) null을 반환합니다, 그 값은 내가 초기화하고 (write (DataOutput out) 메소드를 사용하여) 인스턴스 변수 (chiaviComplete)