2012-10-05 2 views

답변

1

주로 Java에서 MapReduce 사용에 초점을 맞추었지만 hadoop에서 사용할 수있는 ZipFileInputFormat이 있기 때문에 이것이 도움이되는지 확신 할 수 없습니다. 자바 API를 통해 그것의 사용은 여기에 설명되어 있습니다 :

http://cotdp.com/2012/07/hadoop-processing-zip-files-in-mapreduce/

이의 주요 부분은 각 ZipEntry를 처리하는 Javas ZipInputStream를 사용하는 ZipFileRecordReader입니다. Hadoop 리더는 아마도 각 ZipEntry의 파일 경로를 키로, ZipEntry 내용을 값으로 전달하기 때문에 상자에서 꺼내지 않을 것입니다.

+0

응답 해 주셔서 감사합니다. 불행하게도, 나는 이것을 이미 조사했다. 나는 누군가가 우리 자신의 것을 만드는 대신에 나를 위해 이것을 할 수있는 커스텀 PigStorage Loader를 만들 것을 희망했다. – Ben

+0

그 파일을위한 커스텀 InputFormat을 작성하고 싶지 않으면, 아마도 HDFS에 파일을 저장하기 전에 파일의 압축을 풀어서 처리 할 것입니다. 압축을 원한다면 PigStorage가이 형식으로 잘 작동하므로 gzip을 사용할 수 있습니다. –

+0

돼지 로더 함수는 Hadoop의 InputFormat을 사용합니다. RecordReader에서 각 레코드를 가져 와서 튜플 (또는 무엇이든)로 변환하므로 압축 된 파일을 읽으려면 사용자 정의 InputFormat/RecordReader를 작성해야합니다. –