1
我遇到了在集羣上運行程序的問題,並決定在函數map和reduce中讀取hdfs文件。如何逐行讀取hdfs文件並刻錄以讀取ArrayList中的行?在Java中讀取一個文件hdfs
我遇到了在集羣上運行程序的問題,並決定在函數map和reduce中讀取hdfs文件。如何逐行讀取hdfs文件並刻錄以讀取ArrayList中的行?在Java中讀取一個文件hdfs
只是爲了演示一個代碼片段:
Path path = new Path(filePath);
FileSystem fs = path.getFileSystem(context.getConfiguration()); // context of mapper or reducer
FSDataInputStream fdsis = fs.open(path);
BufferedReader br = new BufferedReader(new InputStreamReader(fdsis));
String line = "";
ArrayList<String> lines = new ArrayList<String>();
while ((line = br.readLine()) != null) {
lines.add(line);
}
br.close();
使用的TextInputFormat默認的InputSplit是FileInputSplit並代表一個完整的線。你遇到的問題究竟是什麼? – rretzbach