我想獲得與CDH捆綁在一起的Grep示例來讀取Sequence/Snappy文件。修改grep來解析序列/ Snappy文件
默認情況下,該程序中引發錯誤嘗試讀取序列/斯納皮文件:
java.io.EOFException的:在輸入流 在org.apache.hadoop.io.compress塊的意外結束。 BlockDecompressorStream.getCompressedData(BlockDecompressorStream.java:121)
在org.apache.hadoop.io.compress.BlockDecompressorStream.decompress(BlockDecompressorStream.java:95)
在org.apache.hadoop.io.compress.DecompressorStream.read( DecompressorStream.java:83)
at java.io.InputStream.read(InputStream.java:82 )
所以我編輯了代碼來讀取序列文件。
更改:
FileInputFormat.setInputPaths(grepJob, args[0]);
要:
FileInputFormat.setInputPaths(grepJob, args[0]);
grepJob.setInputFormatClass(SequenceFileAsTextInputFormat.class);
但我仍然得到同樣的錯誤。
1)我是否需要手動設置輸入壓縮編解碼器?我認爲SequenceFile閱讀器會自動檢測壓縮。
2)如果我需要手動設置壓縮,我使用「setInputFormatClass」來做,還是我在「conf」對象中設置的東西?