1

I ran into a problem running the program on a cluster and decided to read from hdfs file in functions map and reduce. How to read line by line hdfs file and burn to read rows in ArrayList?

user1730626
  • 437
  • 1
  • 8
  • 16
  • Using TextInputFormat the default InputSplit is a FileInputSplit and will represent a full line. What exactly is the problem you're having? – rretzbach Oct 31 '12 at 22:21

1 Answers1

1

Just a code snippet for demonstration:

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();
Happy3
  • 299
  • 2
  • 5