1
其實我試圖實現一個機器學習算法,它要求我在文件中寫入reducer的輸出,然後在下一個映射器中讀取這個文件。問題是我正在編寫文件中的減速器中創建的MapWritable對象,但現在當我想訪問該對象時,它僅作爲字符串來使用。有什麼辦法將這個對象[email protected]
轉換成實際的MapWritable對象從文件讀取?我的代碼映射轉換映射器內的對象中的串化的MapWritable
部分:
DoubleWritable[][] Tdata = new DoubleWritable[T.numRows()][T.numColumns()];
for (int k = 0; k < Tdata.length; k++) {
for (int j = 0; j < Tdata[k].length; j++) {
Tdata[k][j] = new DoubleWritable(T.get(k, j));
}
}
DoubleArrayWritable t = new DoubleArrayWritable();
t.set(Tdata);
DoubleWritable[][] Hdata = new DoubleWritable[H.numRows()][H.numColumns()];
for (int k = 0; k < Hdata.length; k++) {
for (int j = 0; j < Hdata[k].length; j++) {
Hdata[k][j] = new DoubleWritable(H.get(k, j));
}
}
DoubleArrayWritable h = new DoubleArrayWritable();
h.set(Hdata);
mw.put(new IntWritable(0), h);
mw.put(new IntWritable(1), t);
context.write(new Text(splitId), mw);
在JavaScript中,我們使用eval這樣的事情有沒有這樣的快捷方式嗎?
其實我是第一次嘗試這個,但因爲使用舊API,我得到錯誤。但現在全部清理完畢。謝謝btw – Mohini