Пустое значение в методе write(): пользовательский тип данных в Hadoop MapReduce

Я излучаю два двумерных двойных массива в качестве ключа и значения. Я строю WritableComparable учебный класс.

public class MF implements WritableComparable<MF>{

/**
 * @param args
 */
private double[][] value;

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

public MF(double[][] value) {
    // TODO Auto-generated constructor stub

      this.value = new double[value.length][value[0].length];
    // System.out.println("in matrix");
}

public void set(double[][] value) {
      this.value = value;
}

public double[][] getValue() {
        return value;
}

@Override
public void write(DataOutput out) throws IOException {
    System.out.println("write");
    int row=0;
    int column=0;
    for(int i=0; i<value.length;i++) {
        row = value.length;
        for(int j=0; j<value[i].length; j++) {
            column = value[i].length;
        }
    }
    out.writeInt(row);
    out.writeInt(column);

    for(int i=0;i<row ; i++) {
        for(int j= 0 ; j< col;j++) {
            out.writeDouble(value[i][j]);
        }
    }

    for(int i =0;i< value.length ;i ++) {
        for(int j = 0;j <value[0].length;j++) {
            System.out.print(value[i][j]+ "\t");
        }
        System.out.println("");
    }
}

@Override
public void readFields(DataInput in) throws IOException {
    int row = in.readInt();
    int col = in.readInt();

    double[][] value = new double[row][col];
    for(int i=0;i<row ; i++) {
        for(int j= 0 ; j< col;j++) {
            value[i][j] = in.readDouble();
        }
    }
}

@Override
public int hashCode() {

}

@Override
public boolean equals(Object o) {

}

@Override
public int compareTo(MF o) {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public String toString() {
    System.out.println(Arrays.toString(value));
    return Arrays.toString(value);
}
}

И на полпути, когда я попытался напечатать свою матрицу в методе записи, матрица не имеет значений

write
    0.0 0.0 0.0 
    0.0 0.0 0.0 
    0.0 0.0 0.0 
write
    0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 
    0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 
    0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 

Я делаю что-то не так. Я получаю подходящее количество строк и столбцов.

0 ответов

Другие вопросы по тегам