0

我已将 LibSVM 类型的对象序列化为名为 j48.model 的文件。该文件已被传输到 HDFS 文件系统中。

现在,在 hadoop mapreduce 代码中,如何反序列化该对象并将其读回 LibSVM 类的实例?我已经将与 LIBSVM 相关的 .jar 文件作为外部 jar 文件包含到了 ma reduce 项目中。

哪些 JAVA 方法可以帮助我将文件 j48.model 的内容读入 LibSVM 对象?

4

1 回答 1

5

当您打开 HDFS URL 时,它会返回一个 InputStream。

FileSystem fs = FileSystem.get(new Configuration());
InputStream in = fs.open(new Path("your uri"));

您可以将此输入流包装在 ObjectInputStream 中:

ObjectInputStream objReader = new ObjectInputStream(in);

并从中读取您的对象:

LibSVM lib = (LibSVM)objReader.readObject();
于 2012-07-15T11:45:49.410 回答