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.DataInput;
22 import java.io.DataOutput;
23 import java.io.IOException;
24
25 import org.apache.hadoop.io.Writable;
26 import org.apache.hadoop.mapreduce.InputSplit;
27
28
29
30
31
32
33
34 public class BspInputSplit extends InputSplit implements Writable {
35
36 private int numSplits = -1;
37
38 private int splitIndex = -1;
39
40
41
42
43 public BspInputSplit() { }
44
45
46
47
48
49
50
51 public BspInputSplit(int splitIndex, int numSplits) {
52 this.splitIndex = splitIndex;
53 this.numSplits = numSplits;
54 }
55
56 @Override
57 public long getLength() throws IOException, InterruptedException {
58 return 0;
59 }
60
61 @Override
62 public String[] getLocations() throws IOException, InterruptedException {
63 return new String[]{};
64 }
65
66 @Override
67 public void readFields(DataInput in) throws IOException {
68 splitIndex = in.readInt();
69 numSplits = in.readInt();
70 }
71
72 @Override
73 public void write(DataOutput out) throws IOException {
74 out.writeInt(splitIndex);
75 out.writeInt(numSplits);
76 }
77
78
79
80
81
82
83 public int getSplitIndex() {
84 return splitIndex;
85 }
86
87
88
89
90
91
92 public int getNumSplits() {
93 return numSplits;
94 }
95
96 @Override
97 public String toString() {
98 return "'" + getClass().getCanonicalName() +
99 ", index=" + getSplitIndex() + ", num=" + getNumSplits();
100 }
101 }