我有一個文件,其中包含像「向量」Java序列化對象。我通過Hadoop分佈式文件系統(HDFS)存儲了這個文件。現在我打算在其中一個map任務中讀取此文件(使用方法readObject)。我想FileInputStream爲通用文件系統
FileInputStream in = new FileInputStream("hdfs/path/to/file");
不會因爲文件存儲在HDFS上而工作。所以我想使用org.apache.hadoop.fs.FileSystem類。但不幸的是,它沒有任何返回FileInputStream的方法。它只是一個返回FSDataInputStream的方法,但我想要一個可以從文件中讀取像vector一樣的序列化java對象的輸入流,而不僅僅是FSDataInputStream會執行的基本數據類型。
請幫忙!
大,是工作!謝謝 – Akhil 2010-05-15 15:11:54
使用CDH5會導致錯誤。 'fcont = hfs.FileContext.getFileContext(); f = fcont.open(hfs.Path('/ tmp/test.txt')); ois = java.io.ObjectInputStream(f); ' java.io.StreamCorruptedException:java.io.StreamCorruptedException:無效的流標題:6C6F6700 – Andor 2014-04-16 10:06:58
@Andor:我已經得到相同的異常,並且一直試圖找出一個解決方案,因爲幾天沒有任何運氣。你是否能夠找出問題所在? – Aditya 2014-04-20 22:58:06