Hadoop Writable深度复制及读取任意<key,value>序列文件(二)
putStream dataOut = new DataOutputStream(byteOutStream);
Writable copiedValue = null;
try {
source.write(dataOut);
dataOut.flush();
ByteArrayInputStream byteInStream = new ByteArrayInputStream(byteOutStream.toByteArray());
DataInput dataInput = new DataInputStream(byteInStream);
copiedValue = writableClass.newInstance();
copiedValue.readFields(dataInput);
} catch (Exception e) {
throw new CrunchRuntimeException("Error while deep copying " + source, e);
}
return copiedValue;
}
}
| 评论 |
|
|