2012-07-15 5 views
0

LibSVM 유형의 객체를 j48.model이라는 파일에 직렬화했습니다. 이 파일은 HDFS 파일 시스템으로 전송되었습니다.Hadoop의 HDFS 파일에서 직렬화 된 객체를 읽는 방법

이제 hadoop mapreduce 코드에서이 객체를 deserialize하여 LibSVM 클래스의 인스턴스로 다시 읽어 들일 수 있습니까? LIBSVM과 관련된 .jar 파일을 이미 ma reduce 프로젝트에 외부 jar 파일로 포함 시켰습니다.

j48.model 파일의 내용을 LibSVM 객체로 읽는 데 도움이되는 Java 기술은 무엇입니까?

답변

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(); 
관련 문제