1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.mapred;
20
21 import java.io.IOException;
22
23 import org.apache.hadoop.hbase.classification.InterfaceAudience;
24 import org.apache.hadoop.hbase.classification.InterfaceStability;
25 import org.apache.hadoop.hbase.client.Result;
26 import org.apache.hadoop.hbase.client.Table;
27 import org.apache.hadoop.hbase.filter.Filter;
28 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
29 import org.apache.hadoop.mapred.RecordReader;
30
31
32
33
34
35 @InterfaceAudience.Public
36 @InterfaceStability.Stable
37 public class TableRecordReader
38 implements RecordReader<ImmutableBytesWritable, Result> {
39
40 private TableRecordReaderImpl recordReaderImpl = new TableRecordReaderImpl();
41
42
43
44
45
46
47
48 public void restart(byte[] firstRow) throws IOException {
49 this.recordReaderImpl.restart(firstRow);
50 }
51
52
53
54
55
56
57 public void init() throws IOException {
58 this.recordReaderImpl.restart(this.recordReaderImpl.getStartRow());
59 }
60
61
62
63
64 public void setHTable(Table htable) {
65 this.recordReaderImpl.setHTable(htable);
66 }
67
68
69
70
71 public void setInputColumns(final byte [][] inputColumns) {
72 this.recordReaderImpl.setInputColumns(inputColumns);
73 }
74
75
76
77
78 public void setStartRow(final byte [] startRow) {
79 this.recordReaderImpl.setStartRow(startRow);
80 }
81
82
83
84
85
86 public void setEndRow(final byte [] endRow) {
87 this.recordReaderImpl.setEndRow(endRow);
88 }
89
90
91
92
93 public void setRowFilter(Filter rowFilter) {
94 this.recordReaderImpl.setRowFilter(rowFilter);
95 }
96
97 @Override
98 public void close() {
99 this.recordReaderImpl.close();
100 }
101
102
103
104
105
106
107 @Override
108 public ImmutableBytesWritable createKey() {
109 return this.recordReaderImpl.createKey();
110 }
111
112
113
114
115
116
117 @Override
118 public Result createValue() {
119 return this.recordReaderImpl.createValue();
120 }
121
122 @Override
123 public long getPos() {
124
125
126
127 return this.recordReaderImpl.getPos();
128 }
129
130 @Override
131 public float getProgress() {
132
133 return this.recordReaderImpl.getPos();
134 }
135
136
137
138
139
140
141
142 @Override
143 public boolean next(ImmutableBytesWritable key, Result value)
144 throws IOException {
145 return this.recordReaderImpl.next(key, value);
146 }
147 }