1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.giraph.bsp;
20
21 import java.io.IOException;
22
23 import org.apache.hadoop.mapreduce.InputSplit;
24 import org.apache.hadoop.mapreduce.RecordReader;
25 import org.apache.hadoop.mapreduce.TaskAttemptContext;
26 import org.apache.hadoop.io.Text;
27
28
29
30
31 class BspRecordReader extends RecordReader<Text, Text> {
32
33 private static final Text ONLY_KEY = new Text("only key");
34
35 private static final Text ONLY_VALUE = new Text("only value");
36
37
38 private boolean seenRecord = false;
39
40 @Override
41 public void close() throws IOException {
42 return;
43 }
44
45 @Override
46 public float getProgress() throws IOException {
47 return seenRecord ? 1f : 0f;
48 }
49
50 @Override
51 public Text getCurrentKey() throws IOException, InterruptedException {
52 return ONLY_KEY;
53 }
54
55 @Override
56 public Text getCurrentValue() throws IOException, InterruptedException {
57 return ONLY_VALUE;
58 }
59
60 @Override
61 public void initialize(InputSplit inputSplit, TaskAttemptContext context)
62 throws IOException, InterruptedException {
63 }
64
65 @Override
66 public boolean nextKeyValue() throws IOException, InterruptedException {
67 if (!seenRecord) {
68 seenRecord = true;
69 return true;
70 }
71 return false;
72 }
73 }