use of org.apache.hadoop.hive.serde2.io.ShortWritable in project hive by apache.
the class TestHBaseSerDe method testHBaseSerDeII.
@Test
public void testHBaseSerDeII() throws SerDeException {
byte[] cfa = "cfa".getBytes();
byte[] cfb = "cfb".getBytes();
byte[] cfc = "cfc".getBytes();
byte[] qualByte = "byte".getBytes();
byte[] qualShort = "short".getBytes();
byte[] qualInt = "int".getBytes();
byte[] qualLong = "long".getBytes();
byte[] qualFloat = "float".getBytes();
byte[] qualDouble = "double".getBytes();
byte[] qualString = "string".getBytes();
byte[] qualBool = "boolean".getBytes();
byte[] rowKey = Bytes.toBytes("test-row-2");
// Data
List<Cell> kvs = new ArrayList<Cell>();
kvs.add(new KeyValue(rowKey, cfa, qualByte, new byte[] { Byte.MIN_VALUE }));
kvs.add(new KeyValue(rowKey, cfb, qualShort, Bytes.toBytes(Short.MIN_VALUE)));
kvs.add(new KeyValue(rowKey, cfc, qualInt, Bytes.toBytes(Integer.MIN_VALUE)));
kvs.add(new KeyValue(rowKey, cfa, qualLong, Bytes.toBytes(Long.MIN_VALUE)));
kvs.add(new KeyValue(rowKey, cfb, qualFloat, Bytes.toBytes(Float.MIN_VALUE)));
kvs.add(new KeyValue(rowKey, cfc, qualDouble, Bytes.toBytes(Double.MAX_VALUE)));
kvs.add(new KeyValue(rowKey, cfa, qualString, Bytes.toBytes("Hadoop, HBase, and Hive Again!")));
kvs.add(new KeyValue(rowKey, cfb, qualBool, Bytes.toBytes(false)));
// When using only HBase2, then we could change to this
// Collections.sort(kvs, CellComparator.COMPARATOR);
Collections.sort(kvs, KeyValue.COMPARATOR);
Result r = Result.create(kvs);
Put p = new Put(rowKey);
p.addColumn(cfa, qualByte, new byte[] { Byte.MIN_VALUE });
p.addColumn(cfb, qualShort, Bytes.toBytes(Short.MIN_VALUE));
p.addColumn(cfc, qualInt, Bytes.toBytes(Integer.MIN_VALUE));
p.addColumn(cfa, qualLong, Bytes.toBytes(Long.MIN_VALUE));
p.addColumn(cfb, qualFloat, Bytes.toBytes(Float.MIN_VALUE));
p.addColumn(cfc, qualDouble, Bytes.toBytes(Double.MAX_VALUE));
p.addColumn(cfa, qualString, Bytes.toBytes("Hadoop, HBase, and Hive Again!"));
p.addColumn(cfb, qualBool, Bytes.toBytes(false));
Object[] expectedFieldsData = { new Text("test-row-2"), new ByteWritable(Byte.MIN_VALUE), new ShortWritable(Short.MIN_VALUE), new IntWritable(Integer.MIN_VALUE), new LongWritable(Long.MIN_VALUE), new FloatWritable(Float.MIN_VALUE), new DoubleWritable(Double.MAX_VALUE), new Text("Hadoop, HBase, and Hive Again!"), new BooleanWritable(false) };
// Create, initialize, and test the SerDe
HBaseSerDe serDe = new HBaseSerDe();
Configuration conf = new Configuration();
Properties tbl = createPropertiesII_I();
serDe.initialize(conf, tbl, null);
deserializeAndSerialize(serDe, r, p, expectedFieldsData);
serDe = new HBaseSerDe();
conf = new Configuration();
tbl = createPropertiesII_II();
serDe.initialize(conf, tbl, null);
deserializeAndSerialize(serDe, r, p, expectedFieldsData);
serDe = new HBaseSerDe();
conf = new Configuration();
tbl = createPropertiesII_III();
serDe.initialize(conf, tbl, null);
deserializeAndSerialize(serDe, r, p, expectedFieldsData);
}
use of org.apache.hadoop.hive.serde2.io.ShortWritable in project hive by apache.
the class TestLazyHBaseObject method testLazyHBaseCellMap3.
/**
* Test the LazyHBaseCellMap class for the case where both the key and the value in the family
* map are stored in binary format using the appropriate LazyPrimitive objects.
* @throws SerDeException
*/
@Test
public void testLazyHBaseCellMap3() throws SerDeException {
Text nullSequence = new Text("\\N");
TypeInfo mapBinaryIntKeyValue = TypeInfoUtils.getTypeInfoFromTypeString("map<int,int>");
ObjectInspector oi = LazyFactory.createLazyObjectInspector(mapBinaryIntKeyValue, new byte[] { (byte) 1, (byte) 2 }, 0, nullSequence, false, (byte) 0);
LazyHBaseCellMap hbaseCellMap = new LazyHBaseCellMap((LazyMapObjectInspector) oi);
List<Cell> kvs = new ArrayList<Cell>();
byte[] rowKey = "row-key".getBytes();
byte[] cfInt = "cf-int".getBytes();
kvs.add(new KeyValue(rowKey, cfInt, Bytes.toBytes(1), Bytes.toBytes(1)));
Result result = Result.create(kvs);
List<Boolean> mapBinaryStorage = new ArrayList<Boolean>();
mapBinaryStorage.add(true);
mapBinaryStorage.add(true);
hbaseCellMap.init(result, cfInt, mapBinaryStorage);
IntWritable expectedIntValue = new IntWritable(1);
LazyPrimitive<?, ?> lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedIntValue);
assertEquals(expectedIntValue, lazyPrimitive.getWritableObject());
kvs.clear();
kvs.add(new KeyValue(rowKey, cfInt, Bytes.toBytes(Integer.MIN_VALUE), Bytes.toBytes(Integer.MIN_VALUE)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfInt, mapBinaryStorage);
expectedIntValue = new IntWritable(Integer.MIN_VALUE);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedIntValue);
assertEquals(expectedIntValue, lazyPrimitive.getWritableObject());
kvs.clear();
kvs.add(new KeyValue(rowKey, cfInt, Bytes.toBytes(Integer.MAX_VALUE), Bytes.toBytes(Integer.MAX_VALUE)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfInt, mapBinaryStorage);
expectedIntValue = new IntWritable(Integer.MAX_VALUE);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedIntValue);
assertEquals(expectedIntValue, lazyPrimitive.getWritableObject());
TypeInfo mapBinaryByteKeyValue = TypeInfoUtils.getTypeInfoFromTypeString("map<tinyint,tinyint>");
oi = LazyFactory.createLazyObjectInspector(mapBinaryByteKeyValue, new byte[] { (byte) 1, (byte) 2 }, 0, nullSequence, false, (byte) 0);
hbaseCellMap = new LazyHBaseCellMap((LazyMapObjectInspector) oi);
byte[] cfByte = "cf-byte".getBytes();
kvs.clear();
kvs.add(new KeyValue(rowKey, cfByte, new byte[] { (byte) 1 }, new byte[] { (byte) 1 }));
result = Result.create(kvs);
hbaseCellMap.init(result, cfByte, mapBinaryStorage);
ByteWritable expectedByteValue = new ByteWritable((byte) 1);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedByteValue);
assertEquals(expectedByteValue, lazyPrimitive.getWritableObject());
kvs.clear();
kvs.add(new KeyValue(rowKey, cfByte, new byte[] { Byte.MIN_VALUE }, new byte[] { Byte.MIN_VALUE }));
result = Result.create(kvs);
hbaseCellMap.init(result, cfByte, mapBinaryStorage);
expectedByteValue = new ByteWritable(Byte.MIN_VALUE);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedByteValue);
assertEquals(expectedByteValue, lazyPrimitive.getWritableObject());
kvs.clear();
kvs.add(new KeyValue(rowKey, cfByte, new byte[] { Byte.MAX_VALUE }, new byte[] { Byte.MAX_VALUE }));
result = Result.create(kvs);
hbaseCellMap.init(result, cfByte, mapBinaryStorage);
expectedByteValue = new ByteWritable(Byte.MAX_VALUE);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedByteValue);
assertEquals(expectedByteValue, lazyPrimitive.getWritableObject());
TypeInfo mapBinaryShortKeyValue = TypeInfoUtils.getTypeInfoFromTypeString("map<smallint,smallint>");
oi = LazyFactory.createLazyObjectInspector(mapBinaryShortKeyValue, new byte[] { (byte) 1, (byte) 2 }, 0, nullSequence, false, (byte) 0);
hbaseCellMap = new LazyHBaseCellMap((LazyMapObjectInspector) oi);
byte[] cfShort = "cf-short".getBytes();
kvs.clear();
kvs.add(new KeyValue(rowKey, cfShort, Bytes.toBytes((short) 1), Bytes.toBytes((short) 1)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfShort, mapBinaryStorage);
ShortWritable expectedShortValue = new ShortWritable((short) 1);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedShortValue);
assertEquals(expectedShortValue, lazyPrimitive.getWritableObject());
kvs.clear();
kvs.add(new KeyValue(rowKey, cfShort, Bytes.toBytes(Short.MIN_VALUE), Bytes.toBytes(Short.MIN_VALUE)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfShort, mapBinaryStorage);
expectedShortValue = new ShortWritable(Short.MIN_VALUE);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedShortValue);
assertEquals(expectedShortValue, lazyPrimitive.getWritableObject());
kvs.clear();
kvs.add(new KeyValue(rowKey, cfShort, Bytes.toBytes(Short.MAX_VALUE), Bytes.toBytes(Short.MAX_VALUE)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfShort, mapBinaryStorage);
expectedShortValue = new ShortWritable(Short.MAX_VALUE);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedShortValue);
assertEquals(expectedShortValue, lazyPrimitive.getWritableObject());
TypeInfo mapBinaryLongKeyValue = TypeInfoUtils.getTypeInfoFromTypeString("map<bigint,bigint>");
oi = LazyFactory.createLazyObjectInspector(mapBinaryLongKeyValue, new byte[] { (byte) 1, (byte) 2 }, 0, nullSequence, false, (byte) 0);
hbaseCellMap = new LazyHBaseCellMap((LazyMapObjectInspector) oi);
byte[] cfLong = "cf-long".getBytes();
kvs.clear();
kvs.add(new KeyValue(rowKey, cfLong, Bytes.toBytes((long) 1), Bytes.toBytes((long) 1)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfLong, mapBinaryStorage);
LongWritable expectedLongValue = new LongWritable(1);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedLongValue);
assertEquals(expectedLongValue, lazyPrimitive.getWritableObject());
kvs.clear();
kvs.add(new KeyValue(rowKey, cfLong, Bytes.toBytes(Long.MIN_VALUE), Bytes.toBytes(Long.MIN_VALUE)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfLong, mapBinaryStorage);
expectedLongValue = new LongWritable(Long.MIN_VALUE);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedLongValue);
assertEquals(expectedLongValue, lazyPrimitive.getWritableObject());
kvs.clear();
kvs.add(new KeyValue(rowKey, cfLong, Bytes.toBytes(Long.MAX_VALUE), Bytes.toBytes(Long.MAX_VALUE)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfLong, mapBinaryStorage);
expectedLongValue = new LongWritable(Long.MAX_VALUE);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedLongValue);
assertEquals(expectedLongValue, lazyPrimitive.getWritableObject());
TypeInfo mapBinaryFloatKeyValue = TypeInfoUtils.getTypeInfoFromTypeString("map<float,float>");
oi = LazyFactory.createLazyObjectInspector(mapBinaryFloatKeyValue, new byte[] { (byte) 1, (byte) 2 }, 0, nullSequence, false, (byte) 0);
hbaseCellMap = new LazyHBaseCellMap((LazyMapObjectInspector) oi);
byte[] cfFloat = "cf-float".getBytes();
kvs.clear();
kvs.add(new KeyValue(rowKey, cfFloat, Bytes.toBytes(1.0F), Bytes.toBytes(1.0F)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfFloat, mapBinaryStorage);
FloatWritable expectedFloatValue = new FloatWritable(1.0F);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedFloatValue);
assertEquals(expectedFloatValue, lazyPrimitive.getWritableObject());
kvs.clear();
kvs.add(new KeyValue(rowKey, cfFloat, Bytes.toBytes(Float.MIN_VALUE), Bytes.toBytes(Float.MIN_VALUE)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfFloat, mapBinaryStorage);
expectedFloatValue = new FloatWritable(Float.MIN_VALUE);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedFloatValue);
assertEquals(expectedFloatValue, lazyPrimitive.getWritableObject());
kvs.clear();
kvs.add(new KeyValue(rowKey, cfFloat, Bytes.toBytes(Float.MAX_VALUE), Bytes.toBytes(Float.MAX_VALUE)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfFloat, mapBinaryStorage);
expectedFloatValue = new FloatWritable(Float.MAX_VALUE);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedFloatValue);
assertEquals(expectedFloatValue, lazyPrimitive.getWritableObject());
TypeInfo mapBinaryDoubleKeyValue = TypeInfoUtils.getTypeInfoFromTypeString("map<double,double>");
oi = LazyFactory.createLazyObjectInspector(mapBinaryDoubleKeyValue, new byte[] { (byte) 1, (byte) 2 }, 0, nullSequence, false, (byte) 0);
hbaseCellMap = new LazyHBaseCellMap((LazyMapObjectInspector) oi);
byte[] cfDouble = "cf-double".getBytes();
kvs.clear();
kvs.add(new KeyValue(rowKey, cfDouble, Bytes.toBytes(1.0), Bytes.toBytes(1.0)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfDouble, mapBinaryStorage);
DoubleWritable expectedDoubleValue = new DoubleWritable(1.0);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedDoubleValue);
assertEquals(expectedDoubleValue, lazyPrimitive.getWritableObject());
kvs.clear();
kvs.add(new KeyValue(rowKey, cfDouble, Bytes.toBytes(Double.MIN_VALUE), Bytes.toBytes(Double.MIN_VALUE)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfDouble, mapBinaryStorage);
expectedDoubleValue = new DoubleWritable(Double.MIN_VALUE);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedDoubleValue);
assertEquals(expectedDoubleValue, lazyPrimitive.getWritableObject());
kvs.clear();
kvs.add(new KeyValue(rowKey, cfDouble, Bytes.toBytes(Double.MAX_VALUE), Bytes.toBytes(Double.MAX_VALUE)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfDouble, mapBinaryStorage);
expectedDoubleValue = new DoubleWritable(Double.MAX_VALUE);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedDoubleValue);
assertEquals(expectedDoubleValue, lazyPrimitive.getWritableObject());
TypeInfo mapBinaryBooleanKeyValue = TypeInfoUtils.getTypeInfoFromTypeString("map<boolean,boolean>");
oi = LazyFactory.createLazyObjectInspector(mapBinaryBooleanKeyValue, new byte[] { (byte) 1, (byte) 2 }, 0, nullSequence, false, (byte) 0);
hbaseCellMap = new LazyHBaseCellMap((LazyMapObjectInspector) oi);
byte[] cfBoolean = "cf-boolean".getBytes();
kvs.clear();
kvs.add(new KeyValue(rowKey, cfBoolean, Bytes.toBytes(false), Bytes.toBytes(false)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfBoolean, mapBinaryStorage);
BooleanWritable expectedBooleanValue = new BooleanWritable(false);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedBooleanValue);
assertEquals(expectedBooleanValue, lazyPrimitive.getWritableObject());
kvs.clear();
kvs.add(new KeyValue(rowKey, cfBoolean, Bytes.toBytes(true), Bytes.toBytes(true)));
result = Result.create(kvs);
hbaseCellMap.init(result, cfBoolean, mapBinaryStorage);
expectedBooleanValue = new BooleanWritable(true);
lazyPrimitive = (LazyPrimitive<?, ?>) hbaseCellMap.getMapValueElement(expectedBooleanValue);
assertEquals(expectedBooleanValue, lazyPrimitive.getWritableObject());
}
use of org.apache.hadoop.hive.serde2.io.ShortWritable in project hive by apache.
the class TeradataBinarySerde method deserializeField.
private Object deserializeField(TeradataBinaryDataInputStream in, TypeInfo type, Object reuse, boolean isNull) throws IOException, ParseException, SerDeException {
// In this case, you cannot avoid reading the bytes even it is not used.
switch(type.getCategory()) {
case PRIMITIVE:
PrimitiveTypeInfo ptype = (PrimitiveTypeInfo) type;
switch(ptype.getPrimitiveCategory()) {
case // Teradata Type: VARCHAR
VARCHAR:
String st = in.readVarchar();
if (isNull) {
return null;
} else {
HiveVarcharWritable r = reuse == null ? new HiveVarcharWritable() : (HiveVarcharWritable) reuse;
r.set(st, ((VarcharTypeInfo) type).getLength());
return r;
}
case // Teradata Type: INT
INT:
int i = in.readInt();
if (isNull) {
return null;
} else {
IntWritable r = reuse == null ? new IntWritable() : (IntWritable) reuse;
r.set(i);
return r;
}
case // Teradata Type: TIMESTAMP
TIMESTAMP:
Timestamp ts = in.readTimestamp(getTimeStampByteNum(timestampPrecision));
if (isNull) {
return null;
} else {
TimestampWritableV2 r = reuse == null ? new TimestampWritableV2() : (TimestampWritableV2) reuse;
r.set(ts);
return r;
}
case // Teradata Type: FLOAT
DOUBLE:
double d = in.readDouble();
if (isNull) {
return null;
} else {
DoubleWritable r = reuse == null ? new DoubleWritable() : (DoubleWritable) reuse;
r.set(d);
return r;
}
case // Teradata Type: DATE
DATE:
Date dt = in.readDate();
if (isNull) {
return null;
} else {
DateWritableV2 r = reuse == null ? new DateWritableV2() : (DateWritableV2) reuse;
r.set(dt);
return r;
}
case // Teradata Type: BYTEINT
BYTE:
byte bt = in.readByte();
if (isNull) {
return null;
} else {
ByteWritable r = reuse == null ? new ByteWritable() : (ByteWritable) reuse;
r.set(bt);
return r;
}
case // Teradata Type: BIGINT
LONG:
long l = in.readLong();
if (isNull) {
return null;
} else {
LongWritable r = reuse == null ? new LongWritable() : (LongWritable) reuse;
r.set(l);
return r;
}
case // Teradata Type: CHAR
CHAR:
CharTypeInfo ctype = (CharTypeInfo) type;
int length = ctype.getLength();
String c = in.readChar(length * getCharByteNum(charCharset));
if (isNull) {
return null;
} else {
HiveCharWritable r = reuse == null ? new HiveCharWritable() : (HiveCharWritable) reuse;
r.set(c, length);
return r;
}
case // Teradata Type: DECIMAL
DECIMAL:
DecimalTypeInfo dtype = (DecimalTypeInfo) type;
int precision = dtype.precision();
int scale = dtype.scale();
HiveDecimal hd = in.readDecimal(scale, getDecimalByteNum(precision));
if (isNull) {
return null;
} else {
HiveDecimalWritable r = (reuse == null ? new HiveDecimalWritable() : (HiveDecimalWritable) reuse);
r.set(hd);
return r;
}
case // Teradata Type: SMALLINT
SHORT:
short s = in.readShort();
if (isNull) {
return null;
} else {
ShortWritable r = reuse == null ? new ShortWritable() : (ShortWritable) reuse;
r.set(s);
return r;
}
case // Teradata Type: VARBYTE
BINARY:
byte[] content = in.readVarbyte();
if (isNull) {
return null;
} else {
BytesWritable r = new BytesWritable();
r.set(content, 0, content.length);
return r;
}
default:
throw new SerDeException("Unrecognized type: " + ptype.getPrimitiveCategory());
}
// Currently, deserialization of complex types is not supported
case LIST:
case MAP:
case STRUCT:
default:
throw new SerDeException("Unsupported category: " + type.getCategory());
}
}
use of org.apache.hadoop.hive.serde2.io.ShortWritable in project hive by apache.
the class TestLazyPrimitive method testLazyShort.
/**
* Test the LazyShort class.
*/
@Test
public void testLazyShort() throws Throwable {
try {
LazyShort b = new LazyShort(LazyPrimitiveObjectInspectorFactory.LAZY_SHORT_OBJECT_INSPECTOR);
initLazyObject(b, new byte[] { '0' }, 0, 0);
assertNull(b.getWritableObject());
initLazyObject(b, new byte[] { '0' }, 0, 1);
assertEquals(new ShortWritable((short) 0), b.getWritableObject());
initLazyObject(b, new byte[] { '+', '0' }, 0, 2);
assertEquals(new ShortWritable((short) 0), b.getWritableObject());
initLazyObject(b, new byte[] { '-', '0' }, 0, 2);
assertEquals(new ShortWritable((short) 0), b.getWritableObject());
initLazyObject(b, new byte[] { 'a', '1', 'b' }, 1, 1);
assertEquals(new ShortWritable((short) 1), b.getWritableObject());
initLazyObject(b, new byte[] { 'a', '-', '1' }, 1, 2);
assertEquals(new ShortWritable((short) -1), b.getWritableObject());
initLazyObject(b, new byte[] { 'a', '+', '1' }, 1, 2);
assertEquals(new ShortWritable((short) 1), b.getWritableObject());
initLazyObject(b, new byte[] { '-', '1', '2', '8' }, 0, 4);
assertEquals(new ShortWritable((short) -128), b.getWritableObject());
initLazyObject(b, new byte[] { '+', '1', '2', '7' }, 0, 4);
assertEquals(new ShortWritable((short) 127), b.getWritableObject());
initLazyObject(b, new byte[] { '-', '3', '2', '7', '6', '8' }, 0, 6);
assertEquals(new ShortWritable((short) -32768), b.getWritableObject());
initLazyObject(b, new byte[] { '+', '3', '2', '7', '6', '7' }, 0, 6);
assertEquals(new ShortWritable((short) 32767), b.getWritableObject());
initLazyObject(b, new byte[] { 'a', '1', 'b' }, 1, 2);
assertNull(b.getWritableObject());
initLazyObject(b, new byte[] { '-', '3', '2', '7', '6', '9' }, 0, 6);
assertNull(b.getWritableObject());
initLazyObject(b, new byte[] { '+', '3', '2', '7', '6', '8' }, 0, 6);
assertNull(b.getWritableObject());
initLazyObject(b, new byte[] { '-', '1', '2', '3' }, 0, 1);
assertNull(b.getWritableObject());
initLazyObject(b, new byte[] { '+', '1', '2', '3' }, 0, 1);
assertNull(b.getWritableObject());
} catch (Throwable e) {
e.printStackTrace();
throw e;
}
}
use of org.apache.hadoop.hive.serde2.io.ShortWritable in project hive by apache.
the class TestLazySimpleSerDe method testLazySimpleSerDeLastColumnTakesRest.
/**
* Test the LazySimpleSerDe class with LastColumnTakesRest option.
*/
@Test
public void testLazySimpleSerDeLastColumnTakesRest() throws Throwable {
try {
// Create the SerDe
LazySimpleSerDe serDe = new LazySimpleSerDe();
Configuration conf = new Configuration();
Properties tbl = createProperties();
tbl.setProperty(serdeConstants.SERIALIZATION_LAST_COLUMN_TAKES_REST, "true");
serDe.initialize(conf, tbl, null);
// Data
Text t = new Text("123\t456\t789\t1000\t5.3\thive and hadoop\t1.\ta\tb\t");
String s = "123\t456\t789\t1000\t5.3\thive and hadoop\t1\ta\tb\t";
Object[] expectedFieldsData = { new ByteWritable((byte) 123), new ShortWritable((short) 456), new IntWritable(789), new LongWritable(1000), new DoubleWritable(5.3), new Text("hive and hadoop"), new IntWritable(1), new Text("a\tb\t") };
// Test
deserializeAndSerialize(serDe, t, s, expectedFieldsData);
} catch (Throwable e) {
e.printStackTrace();
throw e;
}
}
Aggregations