HBASE-10534 Rowkey in TsvImporterTextMapper initializing with wrong length(Rajesh)
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1569837 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2e2162ccc8
commit
318888fd00
|
@ -349,6 +349,13 @@ public class ImportTsv extends Configured implements Tool {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return starting position and length of row key from the specified line bytes.
|
||||||
|
* @param lineBytes
|
||||||
|
* @param length
|
||||||
|
* @return Pair of row key offset and length.
|
||||||
|
* @throws BadTsvLineException
|
||||||
|
*/
|
||||||
public Pair<Integer, Integer> parseRowKey(byte[] lineBytes, int length)
|
public Pair<Integer, Integer> parseRowKey(byte[] lineBytes, int length)
|
||||||
throws BadTsvLineException {
|
throws BadTsvLineException {
|
||||||
int rkColumnIndex = 0;
|
int rkColumnIndex = 0;
|
||||||
|
@ -371,7 +378,7 @@ public class ImportTsv extends Configured implements Tool {
|
||||||
+ " are less than row key position.");
|
+ " are less than row key position.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return new Pair<Integer, Integer>(startPos, endPos);
|
return new Pair<Integer, Integer>(startPos, endPos - startPos + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -220,7 +220,7 @@ public class TestImportTsvParser {
|
||||||
byte[] line = Bytes.toBytes("rowkey\tval_a\t1234");
|
byte[] line = Bytes.toBytes("rowkey\tval_a\t1234");
|
||||||
Pair<Integer, Integer> rowKeyOffsets = parser.parseRowKey(line, line.length);
|
Pair<Integer, Integer> rowKeyOffsets = parser.parseRowKey(line, line.length);
|
||||||
assertEquals(0, rowKeyOffsets.getFirst().intValue());
|
assertEquals(0, rowKeyOffsets.getFirst().intValue());
|
||||||
assertEquals(5, rowKeyOffsets.getSecond().intValue());
|
assertEquals(6, rowKeyOffsets.getSecond().intValue());
|
||||||
try {
|
try {
|
||||||
line = Bytes.toBytes("\t\tval_a\t1234");
|
line = Bytes.toBytes("\t\tval_a\t1234");
|
||||||
parser.parseRowKey(line, line.length);
|
parser.parseRowKey(line, line.length);
|
||||||
|
@ -233,7 +233,7 @@ public class TestImportTsvParser {
|
||||||
line = Bytes.toBytes("val_a\trowkey\t1234");
|
line = Bytes.toBytes("val_a\trowkey\t1234");
|
||||||
rowKeyOffsets = parser.parseRowKey(line, line.length);
|
rowKeyOffsets = parser.parseRowKey(line, line.length);
|
||||||
assertEquals(6, rowKeyOffsets.getFirst().intValue());
|
assertEquals(6, rowKeyOffsets.getFirst().intValue());
|
||||||
assertEquals(11, rowKeyOffsets.getSecond().intValue());
|
assertEquals(6, rowKeyOffsets.getSecond().intValue());
|
||||||
try {
|
try {
|
||||||
line = Bytes.toBytes("val_a");
|
line = Bytes.toBytes("val_a");
|
||||||
rowKeyOffsets = parser.parseRowKey(line, line.length);
|
rowKeyOffsets = parser.parseRowKey(line, line.length);
|
||||||
|
@ -246,7 +246,7 @@ public class TestImportTsvParser {
|
||||||
line = Bytes.toBytes("val_a\t1234\trowkey");
|
line = Bytes.toBytes("val_a\t1234\trowkey");
|
||||||
rowKeyOffsets = parser.parseRowKey(line, line.length);
|
rowKeyOffsets = parser.parseRowKey(line, line.length);
|
||||||
assertEquals(11, rowKeyOffsets.getFirst().intValue());
|
assertEquals(11, rowKeyOffsets.getFirst().intValue());
|
||||||
assertEquals(16, rowKeyOffsets.getSecond().intValue());
|
assertEquals(6, rowKeyOffsets.getSecond().intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
Loading…
Reference in New Issue