2012-10-05 65 views

回答

1

不知道這是否有幫助,因爲它主要關注在Java中使用MapReduce,但在hadoop中有一個ZipFileInputFormat。通過Java API它的使用說明如下:

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

這樣做的主要部分是使用Java類ZipInputStream來處理每一個的ZipEntry的ZipFileRecordReader。 Hadoop閱讀器可能不會爲您開箱,因爲它將每個ZipEntry的文件路徑作爲關鍵字並將ZipEntry內容作爲值傳遞。

+0

感謝您的回覆。不幸的是,我已經看過這個。我希望有人在那裏創建了一個可以爲我做的定製PigStorage加載器,而不是單獨創建一個。 – Ben

+0

我可能會在將文件放到HDFS上進行處理之前解壓縮文件,除非您想爲該文件編寫自定義的InputFormat。如果你想壓縮它,你可以使用gzip,因爲PigStorage可以很好地處理這種格式。 –

+0

Pig的加載函數使用Hadoop的InputFormat。它從RecordReader獲取每條記錄並將其轉換爲元組(或其他),因此如果要讀取壓縮文件,則必須以任何方式編寫自定義InputFormat/RecordReader。 –