You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by zs...@apache.org on 2010/01/21 10:52:48 UTC
svn commit: r901625 [5/6] - in /hadoop/hive/trunk: ./
serde/src/java/org/apache/hadoop/hive/serde2/
serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/
serde/src/java/org/apache/hadoop/hive/serde2/columnar/
serde/src/java/org/apache/hadoop/hiv...
Modified: hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazy/TestLazySimpleSerDe.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazy/TestLazySimpleSerDe.java?rev=901625&r1=901624&r2=901625&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazy/TestLazySimpleSerDe.java (original)
+++ hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazy/TestLazySimpleSerDe.java Thu Jan 21 09:52:44 2010
@@ -17,10 +17,11 @@
*/
package org.apache.hadoop.hive.serde2.lazy;
-
import java.util.List;
import java.util.Properties;
+import junit.framework.TestCase;
+
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.serde.Constants;
import org.apache.hadoop.hive.serde2.SerDeException;
@@ -33,8 +34,6 @@
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
-import junit.framework.TestCase;
-
public class TestLazySimpleSerDe extends TestCase {
/**
@@ -50,16 +49,15 @@
// Data
Text t = new Text("123\t456\t789\t1000\t5.3\thive and hadoop\t1.\tNULL");
- String s = "123\t456\t789\t1000\t5.3\thive and hadoop\tNULL\tNULL";
- 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"), null,
- null
- };
-
+ String s = "123\t456\t789\t1000\t5.3\thive and hadoop\tNULL\tNULL";
+ 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"), null, null };
+
// Test
deserializeAndSerialize(serDe, t, s, expectedFieldsData);
-
+
} catch (Throwable e) {
e.printStackTrace();
throw e;
@@ -69,28 +67,29 @@
private void deserializeAndSerialize(LazySimpleSerDe serDe, Text t, String s,
Object[] expectedFieldsData) throws SerDeException {
// Get the row structure
- StructObjectInspector oi = (StructObjectInspector)serDe.getObjectInspector();
+ StructObjectInspector oi = (StructObjectInspector) serDe
+ .getObjectInspector();
List<? extends StructField> fieldRefs = oi.getAllStructFieldRefs();
assertEquals(8, fieldRefs.size());
-
+
// Deserialize
Object row = serDe.deserialize(t);
for (int i = 0; i < fieldRefs.size(); i++) {
Object fieldData = oi.getStructFieldData(row, fieldRefs.get(i));
if (fieldData != null) {
- fieldData = ((LazyPrimitive)fieldData).getWritableObject();
+ fieldData = ((LazyPrimitive) fieldData).getWritableObject();
}
assertEquals("Field " + i, expectedFieldsData[i], fieldData);
}
- // Serialize
+ // Serialize
assertEquals(Text.class, serDe.getSerializedClass());
- Text serializedText = (Text)serDe.serialize(row, oi);
+ Text serializedText = (Text) serDe.serialize(row, oi);
assertEquals("Serialized data", s, serializedText.toString());
}
private Properties createProperties() {
Properties tbl = new Properties();
-
+
// Set the configuration parameters
tbl.setProperty(Constants.SERIALIZATION_FORMAT, "9");
tbl.setProperty("columns",
@@ -100,7 +99,7 @@
tbl.setProperty(Constants.SERIALIZATION_NULL_FORMAT, "NULL");
return tbl;
}
-
+
/**
* Test the LazySimpleSerDe class with LastColumnTakesRest option.
*/
@@ -112,16 +111,15 @@
Properties tbl = createProperties();
tbl.setProperty(Constants.SERIALIZATION_LAST_COLUMN_TAKES_REST, "true");
serDe.initialize(conf, tbl);
-
+
// 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\tNULL\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"), null,
- new Text("a\tb\t")
- };
-
+ String s = "123\t456\t789\t1000\t5.3\thive and hadoop\tNULL\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"), null, new Text("a\tb\t") };
+
// Test
deserializeAndSerialize(serDe, t, s, expectedFieldsData);
@@ -131,7 +129,6 @@
}
}
-
/**
* Test the LazySimpleSerDe class with extra columns.
*/
@@ -142,16 +139,15 @@
Configuration conf = new Configuration();
Properties tbl = createProperties();
serDe.initialize(conf, tbl);
-
+
// 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\tNULL\ta";
- 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"), null,
- new Text("a")
- };
-
+ String s = "123\t456\t789\t1000\t5.3\thive and hadoop\tNULL\ta";
+ 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"), null, new Text("a") };
+
// Test
deserializeAndSerialize(serDe, t, s, expectedFieldsData);
@@ -161,7 +157,6 @@
}
}
-
/**
* Test the LazySimpleSerDe class with missing columns.
*/
@@ -172,16 +167,15 @@
Configuration conf = new Configuration();
Properties tbl = createProperties();
serDe.initialize(conf, tbl);
-
+
// Data
Text t = new Text("123\t456\t789\t1000\t5.3\t");
- String s = "123\t456\t789\t1000\t5.3\t\tNULL\tNULL";
- Object[] expectedFieldsData = { new ByteWritable((byte)123),
- new ShortWritable((short)456), new IntWritable(789),
+ String s = "123\t456\t789\t1000\t5.3\t\tNULL\tNULL";
+ Object[] expectedFieldsData = { new ByteWritable((byte) 123),
+ new ShortWritable((short) 456), new IntWritable(789),
new LongWritable(1000), new DoubleWritable(5.3), new Text(""), null,
- null
- };
-
+ null };
+
// Test
deserializeAndSerialize(serDe, t, s, expectedFieldsData);
@@ -190,5 +184,5 @@
throw e;
}
}
-
+
}
Modified: hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/MyTestClassBigger.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/MyTestClassBigger.java?rev=901625&r1=901624&r2=901625&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/MyTestClassBigger.java (original)
+++ hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/MyTestClassBigger.java Thu Jan 21 09:52:44 2010
@@ -33,22 +33,22 @@
MyTestInnerStruct myStruct;
List<Integer> myList;
Map<String, List<MyTestInnerStruct>> myMap;
-
- public MyTestClassBigger() {
+
+ public MyTestClassBigger() {
}
-
- public MyTestClassBigger(Byte b, Short s, Integer i, Long l,
- Float f, Double d, String st, MyTestInnerStruct is,
- List<Integer> li, Map<String, List<MyTestInnerStruct>> mp) {
- this.myByte = b;
- this.myShort = s;
- this.myInt = i;
- this.myLong = l;
- this.myFloat = f;
- this.myDouble = d;
- this.myString = st;
- this.myStruct = is;
- this.myList = li;
- this.myMap = mp;
+
+ public MyTestClassBigger(Byte b, Short s, Integer i, Long l, Float f,
+ Double d, String st, MyTestInnerStruct is, List<Integer> li,
+ Map<String, List<MyTestInnerStruct>> mp) {
+ myByte = b;
+ myShort = s;
+ myInt = i;
+ myLong = l;
+ myFloat = f;
+ myDouble = d;
+ myString = st;
+ myStruct = is;
+ myList = li;
+ myMap = mp;
}
}
Modified: hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/MyTestClassSmaller.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/MyTestClassSmaller.java?rev=901625&r1=901624&r2=901625&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/MyTestClassSmaller.java (original)
+++ hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/MyTestClassSmaller.java Thu Jan 21 09:52:44 2010
@@ -28,19 +28,19 @@
Double myDouble;
String myString;
MyTestInnerStruct myStruct;
-
- public MyTestClassSmaller() {
+
+ public MyTestClassSmaller() {
}
-
- public MyTestClassSmaller(Byte b, Short s, Integer i, Long l,
- Float f, Double d, String st, MyTestInnerStruct is) {
- this.myByte = b;
- this.myShort = s;
- this.myInt = i;
- this.myLong = l;
- this.myFloat = f;
- this.myDouble = d;
- this.myString = st;
- this.myStruct = is;
+
+ public MyTestClassSmaller(Byte b, Short s, Integer i, Long l, Float f,
+ Double d, String st, MyTestInnerStruct is) {
+ myByte = b;
+ myShort = s;
+ myInt = i;
+ myLong = l;
+ myFloat = f;
+ myDouble = d;
+ myString = st;
+ myStruct = is;
}
}
Modified: hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/TestLazyBinarySerDe.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/TestLazyBinarySerDe.java?rev=901625&r1=901624&r2=901625&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/TestLazyBinarySerDe.java (original)
+++ hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/TestLazyBinarySerDe.java Thu Jan 21 09:52:44 2010
@@ -25,6 +25,8 @@
import java.util.Properties;
import java.util.Random;
+import junit.framework.TestCase;
+
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.serde.Constants;
import org.apache.hadoop.hive.serde2.SerDe;
@@ -42,30 +44,34 @@
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory.ObjectInspectorOptions;
import org.apache.hadoop.io.BytesWritable;
-import junit.framework.TestCase;
+public class TestLazyBinarySerDe extends TestCase {
-public class TestLazyBinarySerDe extends TestCase {
-
/**
* Generate a random struct array
- * @param r random number generator
- * @return an struct array
+ *
+ * @param r
+ * random number generator
+ * @return an struct array
*/
static List<MyTestInnerStruct> getRandStructArray(Random r) {
int length = r.nextInt(10);
- ArrayList<MyTestInnerStruct> result = new ArrayList<MyTestInnerStruct>(length);
- for(int i=0; i<length; i++) {
+ ArrayList<MyTestInnerStruct> result = new ArrayList<MyTestInnerStruct>(
+ length);
+ for (int i = 0; i < length; i++) {
MyTestInnerStruct ti = new MyTestInnerStruct(r.nextInt(), r.nextInt());
result.add(ti);
}
- return result;
+ return result;
}
-
+
/**
* Initialize the LazyBinarySerDe
- * @param fieldNames table field names
- * @param fieldTypes table field types
- * @return the initialized LazyBinarySerDe
+ *
+ * @param fieldNames
+ * table field names
+ * @param fieldTypes
+ * table field types
+ * @return the initialized LazyBinarySerDe
* @throws Throwable
*/
private SerDe getSerDe(String fieldNames, String fieldTypes) throws Throwable {
@@ -77,374 +83,418 @@
serde.initialize(new Configuration(), schema);
return serde;
}
-
+
/**
* Test the LazyBinarySerDe.
- * @param rows array of structs to be serialized
- * @param rowOI array of struct object inspectors
- * @param serde the serde
- * @throws Throwable
+ *
+ * @param rows
+ * array of structs to be serialized
+ * @param rowOI
+ * array of struct object inspectors
+ * @param serde
+ * the serde
+ * @throws Throwable
*/
- private void testLazyBinarySerDe(Object[] rows,
- ObjectInspector rowOI, SerDe serde) throws Throwable{
-
+ private void testLazyBinarySerDe(Object[] rows, ObjectInspector rowOI,
+ SerDe serde) throws Throwable {
+
ObjectInspector serdeOI = serde.getObjectInspector();
// Try to serialize
BytesWritable bytes[] = new BytesWritable[rows.length];
- for (int i=0; i<rows.length; i++) {
- BytesWritable s = (BytesWritable)serde.serialize(rows[i], rowOI);
+ for (int i = 0; i < rows.length; i++) {
+ BytesWritable s = (BytesWritable) serde.serialize(rows[i], rowOI);
bytes[i] = new BytesWritable();
bytes[i].set(s);
}
// Try to deserialize
Object[] deserialized = new Object[rows.length];
- for (int i=0; i<rows.length; i++) {
+ for (int i = 0; i < rows.length; i++) {
deserialized[i] = serde.deserialize(bytes[i]);
- if (0 != ObjectInspectorUtils.compare(rows[i], rowOI, deserialized[i], serdeOI)) {
- System.out.println("structs[" + i + "] = " + SerDeUtils.getJSONString(rows[i], rowOI));
- System.out.println("deserialized[" + i + "] = " + SerDeUtils.getJSONString(deserialized[i], serdeOI));
- System.out.println("serialized[" + i + "] = " + TestBinarySortableSerDe.hexString(bytes[i]));
+ if (0 != ObjectInspectorUtils.compare(rows[i], rowOI, deserialized[i],
+ serdeOI)) {
+ System.out.println("structs[" + i + "] = "
+ + SerDeUtils.getJSONString(rows[i], rowOI));
+ System.out.println("deserialized[" + i + "] = "
+ + SerDeUtils.getJSONString(deserialized[i], serdeOI));
+ System.out.println("serialized[" + i + "] = "
+ + TestBinarySortableSerDe.hexString(bytes[i]));
assertEquals(rows[i], deserialized[i]);
}
}
}
-
+
/**
- * Compare two structs that have different number of fields.
- * We just compare the first few common fields, ignoring the
- * fields existing in one struct but not the other.
+ * Compare two structs that have different number of fields. We just compare
+ * the first few common fields, ignoring the fields existing in one struct but
+ * not the other.
*
- * @see ObjectInspectorUtils#compare(Object, ObjectInspector, Object, ObjectInspector)
+ * @see ObjectInspectorUtils#compare(Object, ObjectInspector, Object,
+ * ObjectInspector)
*/
- int compareDiffSizedStructs(Object o1, ObjectInspector oi1, Object o2, ObjectInspector oi2) {
- StructObjectInspector soi1 = (StructObjectInspector)oi1;
- StructObjectInspector soi2 = (StructObjectInspector)oi2;
+ int compareDiffSizedStructs(Object o1, ObjectInspector oi1, Object o2,
+ ObjectInspector oi2) {
+ StructObjectInspector soi1 = (StructObjectInspector) oi1;
+ StructObjectInspector soi2 = (StructObjectInspector) oi2;
List<? extends StructField> fields1 = soi1.getAllStructFieldRefs();
List<? extends StructField> fields2 = soi2.getAllStructFieldRefs();
int minimum = Math.min(fields1.size(), fields2.size());
- for (int i=0; i<minimum; i++) {
- int result = ObjectInspectorUtils.compare(
- soi1.getStructFieldData(o1, fields1.get(i)),
- fields1.get(i).getFieldObjectInspector(),
- soi2.getStructFieldData(o2, fields2.get(i)),
- fields2.get(i).getFieldObjectInspector());
+ for (int i = 0; i < minimum; i++) {
+ int result = ObjectInspectorUtils.compare(soi1.getStructFieldData(o1,
+ fields1.get(i)), fields1.get(i).getFieldObjectInspector(), soi2
+ .getStructFieldData(o2, fields2.get(i)), fields2.get(i)
+ .getFieldObjectInspector());
if (result != 0) {
return result;
}
- }
+ }
return 0;
}
-
-
+
/**
- * Test shorter schema deserialization where a bigger struct is serialized
- * and it is then deserialized with a smaller struct.
- * Here the serialized struct has 10 fields and we deserialized to a
- * struct of 9 fields.
+ * Test shorter schema deserialization where a bigger struct is serialized and
+ * it is then deserialized with a smaller struct. Here the serialized struct
+ * has 10 fields and we deserialized to a struct of 9 fields.
*/
- private void testShorterSchemaDeserialization(Random r) throws Throwable{
-
- StructObjectInspector rowOI1 = (StructObjectInspector)ObjectInspectorFactory
- .getReflectionObjectInspector(MyTestClassBigger.class,
- ObjectInspectorOptions.JAVA);
+ private void testShorterSchemaDeserialization(Random r) throws Throwable {
+
+ StructObjectInspector rowOI1 = (StructObjectInspector) ObjectInspectorFactory
+ .getReflectionObjectInspector(MyTestClassBigger.class,
+ ObjectInspectorOptions.JAVA);
String fieldNames1 = ObjectInspectorUtils.getFieldNames(rowOI1);
- String fieldTypes1 = ObjectInspectorUtils.getFieldTypes(rowOI1);
+ String fieldTypes1 = ObjectInspectorUtils.getFieldTypes(rowOI1);
SerDe serde1 = getSerDe(fieldNames1, fieldTypes1);
- ObjectInspector serdeOI1 = serde1.getObjectInspector();
-
- StructObjectInspector rowOI2 = (StructObjectInspector)ObjectInspectorFactory
- .getReflectionObjectInspector(MyTestClass.class,
- ObjectInspectorOptions.JAVA);
+ serde1.getObjectInspector();
+
+ StructObjectInspector rowOI2 = (StructObjectInspector) ObjectInspectorFactory
+ .getReflectionObjectInspector(MyTestClass.class,
+ ObjectInspectorOptions.JAVA);
String fieldNames2 = ObjectInspectorUtils.getFieldNames(rowOI2);
- String fieldTypes2 = ObjectInspectorUtils.getFieldTypes(rowOI2);
+ String fieldTypes2 = ObjectInspectorUtils.getFieldTypes(rowOI2);
SerDe serde2 = getSerDe(fieldNames2, fieldTypes2);
ObjectInspector serdeOI2 = serde2.getObjectInspector();
-
+
int num = 100;
- for (int itest=0; itest<num; itest++) {
+ for (int itest = 0; itest < num; itest++) {
int randField = r.nextInt(11);
- Byte b = randField > 0 ? null : Byte.valueOf((byte)r.nextInt());
- Short s = randField > 1 ? null : Short.valueOf((short)r.nextInt());
+ Byte b = randField > 0 ? null : Byte.valueOf((byte) r.nextInt());
+ Short s = randField > 1 ? null : Short.valueOf((short) r.nextInt());
Integer n = randField > 2 ? null : Integer.valueOf(r.nextInt());
- Long l = randField > 3 ? null : Long.valueOf(r.nextLong());
- Float f = randField > 4 ? null : Float.valueOf(r.nextFloat());
- Double d = randField > 5 ? null : Double.valueOf(r.nextDouble());
- String st = randField > 6 ? null : TestBinarySortableSerDe.getRandString(r);
- MyTestInnerStruct is = randField > 7 ? null : new MyTestInnerStruct(r.nextInt(5)-2, r.nextInt(5)-2);
- List<Integer> li = randField > 8 ? null: TestBinarySortableSerDe.getRandIntegerArray(r);
+ Long l = randField > 3 ? null : Long.valueOf(r.nextLong());
+ Float f = randField > 4 ? null : Float.valueOf(r.nextFloat());
+ Double d = randField > 5 ? null : Double.valueOf(r.nextDouble());
+ String st = randField > 6 ? null : TestBinarySortableSerDe
+ .getRandString(r);
+ MyTestInnerStruct is = randField > 7 ? null : new MyTestInnerStruct(r
+ .nextInt(5) - 2, r.nextInt(5) - 2);
+ List<Integer> li = randField > 8 ? null : TestBinarySortableSerDe
+ .getRandIntegerArray(r);
Map<String, List<MyTestInnerStruct>> mp = new HashMap<String, List<MyTestInnerStruct>>();
String key = TestBinarySortableSerDe.getRandString(r);
- List<MyTestInnerStruct> value = randField > 10 ? null: getRandStructArray(r);
+ List<MyTestInnerStruct> value = randField > 10 ? null
+ : getRandStructArray(r);
mp.put(key, value);
- String key1 = TestBinarySortableSerDe.getRandString(r);
+ String key1 = TestBinarySortableSerDe.getRandString(r);
mp.put(key1, null);
String key2 = TestBinarySortableSerDe.getRandString(r);
List<MyTestInnerStruct> value2 = getRandStructArray(r);
mp.put(key2, value2);
-
- MyTestClassBigger input = new MyTestClassBigger(b,s,n,l,f,d,st,is,li,mp);
- BytesWritable bw = (BytesWritable) serde1.serialize(input, rowOI1);
- Object output = serde2.deserialize(bw);
-
- if(0 != compareDiffSizedStructs(input, rowOI1, output, serdeOI2)) {
- System.out.println("structs = " + SerDeUtils.getJSONString(input, rowOI1));
- System.out.println("deserialized = " + SerDeUtils.getJSONString(output, serdeOI2));
- System.out.println("serialized = " + TestBinarySortableSerDe.hexString(bw));
+
+ MyTestClassBigger input = new MyTestClassBigger(b, s, n, l, f, d, st, is,
+ li, mp);
+ BytesWritable bw = (BytesWritable) serde1.serialize(input, rowOI1);
+ Object output = serde2.deserialize(bw);
+
+ if (0 != compareDiffSizedStructs(input, rowOI1, output, serdeOI2)) {
+ System.out.println("structs = "
+ + SerDeUtils.getJSONString(input, rowOI1));
+ System.out.println("deserialized = "
+ + SerDeUtils.getJSONString(output, serdeOI2));
+ System.out.println("serialized = "
+ + TestBinarySortableSerDe.hexString(bw));
assertEquals(input, output);
}
}
}
-
+
/**
- * Test shorter schema deserialization where a bigger struct is serialized
- * and it is then deserialized with a smaller struct.
- * Here the serialized struct has 9 fields and we deserialized to a
- * struct of 8 fields.
+ * Test shorter schema deserialization where a bigger struct is serialized and
+ * it is then deserialized with a smaller struct. Here the serialized struct
+ * has 9 fields and we deserialized to a struct of 8 fields.
*/
- private void testShorterSchemaDeserialization1(Random r) throws Throwable{
-
- StructObjectInspector rowOI1 = (StructObjectInspector)ObjectInspectorFactory
- .getReflectionObjectInspector(MyTestClass.class,
- ObjectInspectorOptions.JAVA);
+ private void testShorterSchemaDeserialization1(Random r) throws Throwable {
+
+ StructObjectInspector rowOI1 = (StructObjectInspector) ObjectInspectorFactory
+ .getReflectionObjectInspector(MyTestClass.class,
+ ObjectInspectorOptions.JAVA);
String fieldNames1 = ObjectInspectorUtils.getFieldNames(rowOI1);
- String fieldTypes1 = ObjectInspectorUtils.getFieldTypes(rowOI1);
+ String fieldTypes1 = ObjectInspectorUtils.getFieldTypes(rowOI1);
SerDe serde1 = getSerDe(fieldNames1, fieldTypes1);
- ObjectInspector serdeOI1 = serde1.getObjectInspector();
+ serde1.getObjectInspector();
- StructObjectInspector rowOI2 = (StructObjectInspector)ObjectInspectorFactory
- .getReflectionObjectInspector(MyTestClassSmaller.class,
- ObjectInspectorOptions.JAVA);
+ StructObjectInspector rowOI2 = (StructObjectInspector) ObjectInspectorFactory
+ .getReflectionObjectInspector(MyTestClassSmaller.class,
+ ObjectInspectorOptions.JAVA);
String fieldNames2 = ObjectInspectorUtils.getFieldNames(rowOI2);
- String fieldTypes2 = ObjectInspectorUtils.getFieldTypes(rowOI2);
+ String fieldTypes2 = ObjectInspectorUtils.getFieldTypes(rowOI2);
SerDe serde2 = getSerDe(fieldNames2, fieldTypes2);
ObjectInspector serdeOI2 = serde2.getObjectInspector();
int num = 100;
- for (int itest=0; itest<num; itest++) {
+ for (int itest = 0; itest < num; itest++) {
int randField = r.nextInt(10);
- Byte b = randField > 0 ? null : Byte.valueOf((byte)r.nextInt());
- Short s = randField > 1 ? null : Short.valueOf((short)r.nextInt());
+ Byte b = randField > 0 ? null : Byte.valueOf((byte) r.nextInt());
+ Short s = randField > 1 ? null : Short.valueOf((short) r.nextInt());
Integer n = randField > 2 ? null : Integer.valueOf(r.nextInt());
- Long l = randField > 3 ? null : Long.valueOf(r.nextLong());
- Float f = randField > 4 ? null : Float.valueOf(r.nextFloat());
- Double d = randField > 5 ? null : Double.valueOf(r.nextDouble());
- String st = randField > 6 ? null : TestBinarySortableSerDe.getRandString(r);
- MyTestInnerStruct is = randField > 7 ? null : new MyTestInnerStruct(r.nextInt(5)-2, r.nextInt(5)-2);
- List<Integer> li = randField > 8 ? null: TestBinarySortableSerDe.getRandIntegerArray(r);
-
- MyTestClass input = new MyTestClass(b,s,n,l,f,d,st,is,li);
+ Long l = randField > 3 ? null : Long.valueOf(r.nextLong());
+ Float f = randField > 4 ? null : Float.valueOf(r.nextFloat());
+ Double d = randField > 5 ? null : Double.valueOf(r.nextDouble());
+ String st = randField > 6 ? null : TestBinarySortableSerDe
+ .getRandString(r);
+ MyTestInnerStruct is = randField > 7 ? null : new MyTestInnerStruct(r
+ .nextInt(5) - 2, r.nextInt(5) - 2);
+ List<Integer> li = randField > 8 ? null : TestBinarySortableSerDe
+ .getRandIntegerArray(r);
+
+ MyTestClass input = new MyTestClass(b, s, n, l, f, d, st, is, li);
BytesWritable bw = (BytesWritable) serde1.serialize(input, rowOI1);
- Object output = serde2.deserialize(bw);
-
- if(0 != compareDiffSizedStructs(input, rowOI1, output, serdeOI2)) {
- System.out.println("structs = " + SerDeUtils.getJSONString(input, rowOI1));
- System.out.println("deserialized = " + SerDeUtils.getJSONString(output, serdeOI2));
- System.out.println("serialized = " + TestBinarySortableSerDe.hexString(bw));
+ Object output = serde2.deserialize(bw);
+
+ if (0 != compareDiffSizedStructs(input, rowOI1, output, serdeOI2)) {
+ System.out.println("structs = "
+ + SerDeUtils.getJSONString(input, rowOI1));
+ System.out.println("deserialized = "
+ + SerDeUtils.getJSONString(output, serdeOI2));
+ System.out.println("serialized = "
+ + TestBinarySortableSerDe.hexString(bw));
assertEquals(input, output);
}
}
}
-
+
/**
- * Test longer schema deserialization where a smaller struct is serialized
- * and it is then deserialized with a bigger struct
- * Here the serialized struct has 9 fields and we deserialized to a
- * struct of 10 fields.
+ * Test longer schema deserialization where a smaller struct is serialized and
+ * it is then deserialized with a bigger struct Here the serialized struct has
+ * 9 fields and we deserialized to a struct of 10 fields.
*/
- void testLongerSchemaDeserialization(Random r) throws Throwable{
-
- StructObjectInspector rowOI1 = (StructObjectInspector)ObjectInspectorFactory
- .getReflectionObjectInspector(MyTestClass.class,
- ObjectInspectorOptions.JAVA);
+ void testLongerSchemaDeserialization(Random r) throws Throwable {
+
+ StructObjectInspector rowOI1 = (StructObjectInspector) ObjectInspectorFactory
+ .getReflectionObjectInspector(MyTestClass.class,
+ ObjectInspectorOptions.JAVA);
String fieldNames1 = ObjectInspectorUtils.getFieldNames(rowOI1);
- String fieldTypes1 = ObjectInspectorUtils.getFieldTypes(rowOI1);
+ String fieldTypes1 = ObjectInspectorUtils.getFieldTypes(rowOI1);
SerDe serde1 = getSerDe(fieldNames1, fieldTypes1);
- ObjectInspector serdeOI1 = serde1.getObjectInspector();
+ serde1.getObjectInspector();
- StructObjectInspector rowOI2 = (StructObjectInspector)ObjectInspectorFactory
- .getReflectionObjectInspector(MyTestClassBigger.class,
- ObjectInspectorOptions.JAVA);
+ StructObjectInspector rowOI2 = (StructObjectInspector) ObjectInspectorFactory
+ .getReflectionObjectInspector(MyTestClassBigger.class,
+ ObjectInspectorOptions.JAVA);
String fieldNames2 = ObjectInspectorUtils.getFieldNames(rowOI2);
- String fieldTypes2 = ObjectInspectorUtils.getFieldTypes(rowOI2);
+ String fieldTypes2 = ObjectInspectorUtils.getFieldTypes(rowOI2);
SerDe serde2 = getSerDe(fieldNames2, fieldTypes2);
ObjectInspector serdeOI2 = serde2.getObjectInspector();
int num = 100;
- for (int itest=0; itest<num; itest++) {
+ for (int itest = 0; itest < num; itest++) {
int randField = r.nextInt(10);
- Byte b = randField > 0 ? null : Byte.valueOf((byte)r.nextInt());
- Short s = randField > 1 ? null : Short.valueOf((short)r.nextInt());
+ Byte b = randField > 0 ? null : Byte.valueOf((byte) r.nextInt());
+ Short s = randField > 1 ? null : Short.valueOf((short) r.nextInt());
Integer n = randField > 2 ? null : Integer.valueOf(r.nextInt());
- Long l = randField > 3 ? null : Long.valueOf(r.nextLong());
- Float f = randField > 4 ? null : Float.valueOf(r.nextFloat());
- Double d = randField > 5 ? null : Double.valueOf(r.nextDouble());
- String st = randField > 6 ? null : TestBinarySortableSerDe.getRandString(r);
- MyTestInnerStruct is = randField > 7 ? null : new MyTestInnerStruct(r.nextInt(5)-2, r.nextInt(5)-2);
- List<Integer> li = randField > 8 ? null: TestBinarySortableSerDe.getRandIntegerArray(r);
-
- MyTestClass input = new MyTestClass(b,s,n,l,f,d,st,is,li);
+ Long l = randField > 3 ? null : Long.valueOf(r.nextLong());
+ Float f = randField > 4 ? null : Float.valueOf(r.nextFloat());
+ Double d = randField > 5 ? null : Double.valueOf(r.nextDouble());
+ String st = randField > 6 ? null : TestBinarySortableSerDe
+ .getRandString(r);
+ MyTestInnerStruct is = randField > 7 ? null : new MyTestInnerStruct(r
+ .nextInt(5) - 2, r.nextInt(5) - 2);
+ List<Integer> li = randField > 8 ? null : TestBinarySortableSerDe
+ .getRandIntegerArray(r);
+
+ MyTestClass input = new MyTestClass(b, s, n, l, f, d, st, is, li);
BytesWritable bw = (BytesWritable) serde1.serialize(input, rowOI1);
- Object output = serde2.deserialize(bw);
-
+ Object output = serde2.deserialize(bw);
+
if (0 != compareDiffSizedStructs(input, rowOI1, output, serdeOI2)) {
- System.out.println("structs = " + SerDeUtils.getJSONString(input, rowOI1));
- System.out.println("deserialized = " + SerDeUtils.getJSONString(output, serdeOI2));
- System.out.println("serialized = " + TestBinarySortableSerDe.hexString(bw));
+ System.out.println("structs = "
+ + SerDeUtils.getJSONString(input, rowOI1));
+ System.out.println("deserialized = "
+ + SerDeUtils.getJSONString(output, serdeOI2));
+ System.out.println("serialized = "
+ + TestBinarySortableSerDe.hexString(bw));
assertEquals(input, output);
}
}
}
-
+
/**
- * Test longer schema deserialization where a smaller struct is serialized
- * and it is then deserialized with a bigger struct
- * Here the serialized struct has 8 fields and we deserialized to a
- * struct of 9 fields.
+ * Test longer schema deserialization where a smaller struct is serialized and
+ * it is then deserialized with a bigger struct Here the serialized struct has
+ * 8 fields and we deserialized to a struct of 9 fields.
*/
- void testLongerSchemaDeserialization1(Random r) throws Throwable{
+ void testLongerSchemaDeserialization1(Random r) throws Throwable {
- StructObjectInspector rowOI1 = (StructObjectInspector)ObjectInspectorFactory
- .getReflectionObjectInspector(MyTestClassSmaller.class,
- ObjectInspectorOptions.JAVA);
+ StructObjectInspector rowOI1 = (StructObjectInspector) ObjectInspectorFactory
+ .getReflectionObjectInspector(MyTestClassSmaller.class,
+ ObjectInspectorOptions.JAVA);
String fieldNames1 = ObjectInspectorUtils.getFieldNames(rowOI1);
- String fieldTypes1 = ObjectInspectorUtils.getFieldTypes(rowOI1);
+ String fieldTypes1 = ObjectInspectorUtils.getFieldTypes(rowOI1);
SerDe serde1 = getSerDe(fieldNames1, fieldTypes1);
- ObjectInspector serdeOI1 = serde1.getObjectInspector();
+ serde1.getObjectInspector();
- StructObjectInspector rowOI2 = (StructObjectInspector)ObjectInspectorFactory
- .getReflectionObjectInspector(MyTestClass.class,
- ObjectInspectorOptions.JAVA);
+ StructObjectInspector rowOI2 = (StructObjectInspector) ObjectInspectorFactory
+ .getReflectionObjectInspector(MyTestClass.class,
+ ObjectInspectorOptions.JAVA);
String fieldNames2 = ObjectInspectorUtils.getFieldNames(rowOI2);
- String fieldTypes2 = ObjectInspectorUtils.getFieldTypes(rowOI2);
+ String fieldTypes2 = ObjectInspectorUtils.getFieldTypes(rowOI2);
SerDe serde2 = getSerDe(fieldNames2, fieldTypes2);
ObjectInspector serdeOI2 = serde2.getObjectInspector();
int num = 100;
- for (int itest=0; itest<num; itest++) {
+ for (int itest = 0; itest < num; itest++) {
int randField = r.nextInt(9);
- Byte b = randField > 0 ? null : Byte.valueOf((byte)r.nextInt());
- Short s = randField > 1 ? null : Short.valueOf((short)r.nextInt());
+ Byte b = randField > 0 ? null : Byte.valueOf((byte) r.nextInt());
+ Short s = randField > 1 ? null : Short.valueOf((short) r.nextInt());
Integer n = randField > 2 ? null : Integer.valueOf(r.nextInt());
- Long l = randField > 3 ? null : Long.valueOf(r.nextLong());
- Float f = randField > 4 ? null : Float.valueOf(r.nextFloat());
- Double d = randField > 5 ? null : Double.valueOf(r.nextDouble());
- String st = randField > 6 ? null : TestBinarySortableSerDe.getRandString(r);
- MyTestInnerStruct is = randField > 7 ? null : new MyTestInnerStruct(r.nextInt(5)-2, r.nextInt(5)-2);
-
- MyTestClassSmaller input = new MyTestClassSmaller(b,s,n,l,f,d,st,is);
- BytesWritable bw = (BytesWritable) serde1.serialize(input, rowOI1);
- Object output = serde2.deserialize(bw);
-
+ Long l = randField > 3 ? null : Long.valueOf(r.nextLong());
+ Float f = randField > 4 ? null : Float.valueOf(r.nextFloat());
+ Double d = randField > 5 ? null : Double.valueOf(r.nextDouble());
+ String st = randField > 6 ? null : TestBinarySortableSerDe
+ .getRandString(r);
+ MyTestInnerStruct is = randField > 7 ? null : new MyTestInnerStruct(r
+ .nextInt(5) - 2, r.nextInt(5) - 2);
+
+ MyTestClassSmaller input = new MyTestClassSmaller(b, s, n, l, f, d, st,
+ is);
+ BytesWritable bw = (BytesWritable) serde1.serialize(input, rowOI1);
+ Object output = serde2.deserialize(bw);
+
if (0 != compareDiffSizedStructs(input, rowOI1, output, serdeOI2)) {
- System.out.println("structs = " + SerDeUtils.getJSONString(input, rowOI1));
- System.out.println("deserialized = " + SerDeUtils.getJSONString(output, serdeOI2));
- System.out.println("serialized = " + TestBinarySortableSerDe.hexString(bw));
+ System.out.println("structs = "
+ + SerDeUtils.getJSONString(input, rowOI1));
+ System.out.println("deserialized = "
+ + SerDeUtils.getJSONString(output, serdeOI2));
+ System.out.println("serialized = "
+ + TestBinarySortableSerDe.hexString(bw));
assertEquals(input, output);
}
}
}
-
- void testLazyBinaryMap(Random r) throws Throwable {
-
- StructObjectInspector rowOI = (StructObjectInspector)ObjectInspectorFactory
- .getReflectionObjectInspector(MyTestClassBigger.class,
- ObjectInspectorOptions.JAVA);
+
+ void testLazyBinaryMap(Random r) throws Throwable {
+
+ StructObjectInspector rowOI = (StructObjectInspector) ObjectInspectorFactory
+ .getReflectionObjectInspector(MyTestClassBigger.class,
+ ObjectInspectorOptions.JAVA);
String fieldNames = ObjectInspectorUtils.getFieldNames(rowOI);
- String fieldTypes = ObjectInspectorUtils.getFieldTypes(rowOI);
+ String fieldTypes = ObjectInspectorUtils.getFieldTypes(rowOI);
SerDe serde = getSerDe(fieldNames, fieldTypes);
ObjectInspector serdeOI = serde.getObjectInspector();
- StructObjectInspector soi1 = (StructObjectInspector)serdeOI;
+ StructObjectInspector soi1 = (StructObjectInspector) serdeOI;
List<? extends StructField> fields1 = soi1.getAllStructFieldRefs();
- LazyBinaryMapObjectInspector lazympoi = (LazyBinaryMapObjectInspector) fields1.get(9).getFieldObjectInspector();
- ObjectInspector lazympkeyoi = lazympoi.getMapKeyObjectInspector();
- ObjectInspector lazympvalueoi = lazympoi.getMapValueObjectInspector();
-
- StructObjectInspector soi2 = (StructObjectInspector)rowOI;
- List<? extends StructField> fields2 = soi2.getAllStructFieldRefs();
- MapObjectInspector inputmpoi = (MapObjectInspector) fields2.get(9).getFieldObjectInspector();
+ LazyBinaryMapObjectInspector lazympoi = (LazyBinaryMapObjectInspector) fields1
+ .get(9).getFieldObjectInspector();
+ ObjectInspector lazympkeyoi = lazympoi.getMapKeyObjectInspector();
+ ObjectInspector lazympvalueoi = lazympoi.getMapValueObjectInspector();
+
+ StructObjectInspector soi2 = rowOI;
+ List<? extends StructField> fields2 = soi2.getAllStructFieldRefs();
+ MapObjectInspector inputmpoi = (MapObjectInspector) fields2.get(9)
+ .getFieldObjectInspector();
ObjectInspector inputmpkeyoi = inputmpoi.getMapKeyObjectInspector();
- ObjectInspector inputmpvalueoi = inputmpoi.getMapValueObjectInspector();
+ ObjectInspector inputmpvalueoi = inputmpoi.getMapValueObjectInspector();
int num = 100;
- for (int testi=0; testi<num; testi++) {
+ for (int testi = 0; testi < num; testi++) {
Map<String, List<MyTestInnerStruct>> mp = new LinkedHashMap<String, List<MyTestInnerStruct>>();
-
+
int randFields = r.nextInt(10);
- for (int i=0; i<randFields; i++) {
+ for (int i = 0; i < randFields; i++) {
String key = TestBinarySortableSerDe.getRandString(r);
int randField = r.nextInt(10);
- List<MyTestInnerStruct> value = randField > 4 ? null: getRandStructArray(r);
- mp.put(key, value);
+ List<MyTestInnerStruct> value = randField > 4 ? null
+ : getRandStructArray(r);
+ mp.put(key, value);
}
-
- MyTestClassBigger input = new MyTestClassBigger(null,null,null,null,null,null,null,null,null,mp);
- BytesWritable bw = (BytesWritable) serde.serialize(input, rowOI);
- Object output = serde.deserialize(bw);
+
+ MyTestClassBigger input = new MyTestClassBigger(null, null, null, null,
+ null, null, null, null, null, mp);
+ BytesWritable bw = (BytesWritable) serde.serialize(input, rowOI);
+ Object output = serde.deserialize(bw);
Object lazyobj = soi1.getStructFieldData(output, fields1.get(9));
Map<?, ?> outputmp = lazympoi.getMap(lazyobj);
if (outputmp.size() != mp.size()) {
- throw new RuntimeException("Map size changed from " + mp.size() + " to " + outputmp.size() + " after serialization!");
+ throw new RuntimeException("Map size changed from " + mp.size()
+ + " to " + outputmp.size() + " after serialization!");
}
-
- for (Map.Entry<?, ?> entryinput: mp.entrySet()) {
+
+ for (Map.Entry<?, ?> entryinput : mp.entrySet()) {
boolean bEqual = false;
- for (Map.Entry<?, ?> entryoutput: outputmp.entrySet()) {
+ for (Map.Entry<?, ?> entryoutput : outputmp.entrySet()) {
// find the same key
- if (0 == ObjectInspectorUtils.compare(entryoutput.getKey(), lazympkeyoi, entryinput.getKey(), inputmpkeyoi)) {
- if(0 != ObjectInspectorUtils.compare(entryoutput.getValue(), lazympvalueoi, entryinput.getValue(), inputmpvalueoi)) {
- assertEquals(entryoutput.getValue(), entryinput.getValue());
+ if (0 == ObjectInspectorUtils.compare(entryoutput.getKey(),
+ lazympkeyoi, entryinput.getKey(), inputmpkeyoi)) {
+ if (0 != ObjectInspectorUtils.compare(entryoutput.getValue(),
+ lazympvalueoi, entryinput.getValue(), inputmpvalueoi)) {
+ assertEquals(entryoutput.getValue(), entryinput.getValue());
} else {
bEqual = true;
}
break;
- }
+ }
+ }
+ if (!bEqual) {
+ throw new RuntimeException(
+ "Could not find matched key in deserialized map : "
+ + entryinput.getKey());
}
- if(!bEqual)
- throw new RuntimeException("Could not find matched key in deserialized map : " + entryinput.getKey());
}
}
}
-
+
/**
* The test entrance function
+ *
* @throws Throwable
*/
public void testLazyBinarySerDe() throws Throwable {
try {
System.out.println("Beginning Test TestLazyBinarySerDe:");
-
+
// generate the data
int num = 1000;
Random r = new Random(1234);
MyTestClass rows[] = new MyTestClass[num];
- for (int i=0; i<num; i++) {
+ for (int i = 0; i < num; i++) {
int randField = r.nextInt(10);
- Byte b = randField > 0 ? null : Byte.valueOf((byte)r.nextInt());
- Short s = randField > 1 ? null : Short.valueOf((short)r.nextInt());
+ Byte b = randField > 0 ? null : Byte.valueOf((byte) r.nextInt());
+ Short s = randField > 1 ? null : Short.valueOf((short) r.nextInt());
Integer n = randField > 2 ? null : Integer.valueOf(r.nextInt());
- Long l = randField > 3 ? null : Long.valueOf(r.nextLong());
- Float f = randField > 4 ? null : Float.valueOf(r.nextFloat());
- Double d = randField > 5 ? null : Double.valueOf(r.nextDouble());
- String st = randField > 6 ? null : TestBinarySortableSerDe.getRandString(r);
- MyTestInnerStruct is = randField > 7 ? null : new MyTestInnerStruct(r.nextInt(5)-2, r.nextInt(5)-2);
- List<Integer> li = randField > 8 ? null: TestBinarySortableSerDe.getRandIntegerArray(r);
- MyTestClass t = new MyTestClass(b,s,n,l,f,d,st,is,li);
+ Long l = randField > 3 ? null : Long.valueOf(r.nextLong());
+ Float f = randField > 4 ? null : Float.valueOf(r.nextFloat());
+ Double d = randField > 5 ? null : Double.valueOf(r.nextDouble());
+ String st = randField > 6 ? null : TestBinarySortableSerDe
+ .getRandString(r);
+ MyTestInnerStruct is = randField > 7 ? null : new MyTestInnerStruct(r
+ .nextInt(5) - 2, r.nextInt(5) - 2);
+ List<Integer> li = randField > 8 ? null : TestBinarySortableSerDe
+ .getRandIntegerArray(r);
+ MyTestClass t = new MyTestClass(b, s, n, l, f, d, st, is, li);
rows[i] = t;
}
-
- StructObjectInspector rowOI = (StructObjectInspector)ObjectInspectorFactory
- .getReflectionObjectInspector(MyTestClass.class,
- ObjectInspectorOptions.JAVA);
-
+
+ StructObjectInspector rowOI = (StructObjectInspector) ObjectInspectorFactory
+ .getReflectionObjectInspector(MyTestClass.class,
+ ObjectInspectorOptions.JAVA);
+
String fieldNames = ObjectInspectorUtils.getFieldNames(rowOI);
String fieldTypes = ObjectInspectorUtils.getFieldTypes(rowOI);
-
+
// call the tests
// 1/ test LazyBinarySerDe
testLazyBinarySerDe(rows, rowOI, getSerDe(fieldNames, fieldTypes));
@@ -453,12 +503,12 @@
// 3/ test serialization and deserialization with different schemas
testShorterSchemaDeserialization(r);
// 4/ test serialization and deserialization with different schemas
- testLongerSchemaDeserialization(r);
+ testLongerSchemaDeserialization(r);
// 5/ test serialization and deserialization with different schemas
testShorterSchemaDeserialization1(r);
// 6/ test serialization and deserialization with different schemas
- testLongerSchemaDeserialization1(r);
-
+ testLongerSchemaDeserialization1(r);
+
System.out.println("Test TestLazyBinarySerDe passed!");
} catch (Throwable e) {
e.printStackTrace();
Modified: hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/MyStruct.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/MyStruct.java?rev=901625&r1=901624&r2=901625&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/MyStruct.java (original)
+++ hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/MyStruct.java Thu Jan 21 09:52:44 2010
@@ -20,16 +20,15 @@
import java.util.List;
import java.util.Map;
-
/**
* Class for testing TestReflectionObjectInspector.
*/
public class MyStruct {
- public int myInt;
- public Integer myInteger;
- public String myString;
- // Note: this is a recursive struct
- public MyStruct myStruct;
- public List<String> myListString;
- public Map<String, String> myMapStringString;
+ public int myInt;
+ public Integer myInteger;
+ public String myString;
+ // Note: this is a recursive struct
+ public MyStruct myStruct;
+ public List<String> myListString;
+ public Map<String, String> myMapStringString;
}
Modified: hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestObjectInspectorConverters.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestObjectInspectorConverters.java?rev=901625&r1=901624&r2=901625&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestObjectInspectorConverters.java (original)
+++ hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestObjectInspectorConverters.java Thu Jan 21 09:52:44 2010
@@ -17,26 +17,19 @@
*/
package org.apache.hadoop.hive.serde2.objectinspector;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import junit.framework.TestCase;
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorConverters.Converter;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
-import org.apache.hadoop.hive.serde2.thrift.test.Complex;
-import org.apache.hadoop.hive.serde2.thrift.test.IntString;
import org.apache.hadoop.io.BooleanWritable;
import org.apache.hadoop.io.FloatWritable;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
-import junit.framework.TestCase;
-
public class TestObjectInspectorConverters extends TestCase {
public void testObjectInspectorConverters() throws Throwable {
@@ -45,110 +38,78 @@
Converter booleanConverter = ObjectInspectorConverters.getConverter(
PrimitiveObjectInspectorFactory.javaIntObjectInspector,
PrimitiveObjectInspectorFactory.writableBooleanObjectInspector);
- assertEquals("BooleanConverter",
- new BooleanWritable(false),
- booleanConverter.convert(Integer.valueOf(0))
- );
- assertEquals("BooleanConverter",
- new BooleanWritable(true),
- booleanConverter.convert(Integer.valueOf(1))
- );
-
+ assertEquals("BooleanConverter", new BooleanWritable(false),
+ booleanConverter.convert(Integer.valueOf(0)));
+ assertEquals("BooleanConverter", new BooleanWritable(true),
+ booleanConverter.convert(Integer.valueOf(1)));
+
// Byte
Converter byteConverter = ObjectInspectorConverters.getConverter(
PrimitiveObjectInspectorFactory.javaIntObjectInspector,
PrimitiveObjectInspectorFactory.writableByteObjectInspector);
- assertEquals("ByteConverter",
- new ByteWritable((byte)0),
- byteConverter.convert(Integer.valueOf(0))
- );
- assertEquals("ByteConverter",
- new ByteWritable((byte)1),
- byteConverter.convert(Integer.valueOf(1))
- );
-
+ assertEquals("ByteConverter", new ByteWritable((byte) 0), byteConverter
+ .convert(Integer.valueOf(0)));
+ assertEquals("ByteConverter", new ByteWritable((byte) 1), byteConverter
+ .convert(Integer.valueOf(1)));
+
// Short
Converter shortConverter = ObjectInspectorConverters.getConverter(
PrimitiveObjectInspectorFactory.javaIntObjectInspector,
PrimitiveObjectInspectorFactory.writableShortObjectInspector);
- assertEquals("ShortConverter",
- new ShortWritable((short)0),
- shortConverter.convert(Integer.valueOf(0))
- );
- assertEquals("ShortConverter",
- new ShortWritable((short)1),
- shortConverter.convert(Integer.valueOf(1))
- );
-
+ assertEquals("ShortConverter", new ShortWritable((short) 0),
+ shortConverter.convert(Integer.valueOf(0)));
+ assertEquals("ShortConverter", new ShortWritable((short) 1),
+ shortConverter.convert(Integer.valueOf(1)));
+
// Int
Converter intConverter = ObjectInspectorConverters.getConverter(
PrimitiveObjectInspectorFactory.javaIntObjectInspector,
PrimitiveObjectInspectorFactory.writableIntObjectInspector);
- assertEquals("IntConverter",
- new IntWritable((int)0),
- intConverter.convert(Integer.valueOf(0))
- );
- assertEquals("IntConverter",
- new IntWritable((int)1),
- intConverter.convert(Integer.valueOf(1))
- );
-
+ assertEquals("IntConverter", new IntWritable(0), intConverter
+ .convert(Integer.valueOf(0)));
+ assertEquals("IntConverter", new IntWritable(1), intConverter
+ .convert(Integer.valueOf(1)));
+
// Long
Converter longConverter = ObjectInspectorConverters.getConverter(
PrimitiveObjectInspectorFactory.javaIntObjectInspector,
PrimitiveObjectInspectorFactory.writableLongObjectInspector);
- assertEquals("LongConverter",
- new LongWritable((long)0),
- longConverter.convert(Integer.valueOf(0))
- );
- assertEquals("LongConverter",
- new LongWritable((long)1),
- longConverter.convert(Integer.valueOf(1))
- );
-
+ assertEquals("LongConverter", new LongWritable(0), longConverter
+ .convert(Integer.valueOf(0)));
+ assertEquals("LongConverter", new LongWritable(1), longConverter
+ .convert(Integer.valueOf(1)));
+
// Float
Converter floatConverter = ObjectInspectorConverters.getConverter(
PrimitiveObjectInspectorFactory.javaIntObjectInspector,
PrimitiveObjectInspectorFactory.writableFloatObjectInspector);
- assertEquals("LongConverter",
- new FloatWritable((float)0),
- floatConverter.convert(Integer.valueOf(0))
- );
- assertEquals("LongConverter",
- new FloatWritable((float)1),
- floatConverter.convert(Integer.valueOf(1))
- );
-
+ assertEquals("LongConverter", new FloatWritable(0), floatConverter
+ .convert(Integer.valueOf(0)));
+ assertEquals("LongConverter", new FloatWritable(1), floatConverter
+ .convert(Integer.valueOf(1)));
+
// Double
Converter doubleConverter = ObjectInspectorConverters.getConverter(
PrimitiveObjectInspectorFactory.javaIntObjectInspector,
PrimitiveObjectInspectorFactory.writableDoubleObjectInspector);
- assertEquals("DoubleConverter",
- new DoubleWritable((double)0),
- doubleConverter.convert(Integer.valueOf(0))
- );
- assertEquals("DoubleConverter",
- new DoubleWritable((double)1),
- doubleConverter.convert(Integer.valueOf(1))
- );
-
+ assertEquals("DoubleConverter", new DoubleWritable(0), doubleConverter
+ .convert(Integer.valueOf(0)));
+ assertEquals("DoubleConverter", new DoubleWritable(1), doubleConverter
+ .convert(Integer.valueOf(1)));
+
// Text
Converter textConverter = ObjectInspectorConverters.getConverter(
PrimitiveObjectInspectorFactory.javaIntObjectInspector,
PrimitiveObjectInspectorFactory.writableStringObjectInspector);
- assertEquals("TextConverter",
- new Text("0"),
- textConverter.convert(Integer.valueOf(0))
- );
- assertEquals("TextConverter",
- new Text("1"),
- textConverter.convert(Integer.valueOf(1))
- );
-
+ assertEquals("TextConverter", new Text("0"), textConverter
+ .convert(Integer.valueOf(0)));
+ assertEquals("TextConverter", new Text("1"), textConverter
+ .convert(Integer.valueOf(1)));
+
} catch (Throwable e) {
e.printStackTrace();
throw e;
}
-
- }
+
+ }
}
Modified: hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestObjectInspectorUtils.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestObjectInspectorUtils.java?rev=901625&r1=901624&r2=901625&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestObjectInspectorUtils.java (original)
+++ hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestObjectInspectorUtils.java Thu Jan 21 09:52:44 2010
@@ -21,47 +21,49 @@
import java.util.Arrays;
import java.util.List;
+import junit.framework.TestCase;
+
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import org.apache.hadoop.hive.serde2.thrift.test.Complex;
import org.apache.hadoop.hive.serde2.thrift.test.IntString;
-import junit.framework.TestCase;
-
public class TestObjectInspectorUtils extends TestCase {
public void testObjectInspectorUtils() throws Throwable {
try {
- ObjectInspector oi1 = ObjectInspectorFactory.getReflectionObjectInspector(
- Complex.class, ObjectInspectorFactory.ObjectInspectorOptions.THRIFT);
-
+ ObjectInspector oi1 = ObjectInspectorFactory
+ .getReflectionObjectInspector(Complex.class,
+ ObjectInspectorFactory.ObjectInspectorOptions.THRIFT);
+
// metadata
assertEquals(Category.STRUCT, oi1.getCategory());
// standard ObjectInspector
- StructObjectInspector soi = (StructObjectInspector)ObjectInspectorUtils.getStandardObjectInspector(oi1);
+ StructObjectInspector soi = (StructObjectInspector) ObjectInspectorUtils
+ .getStandardObjectInspector(oi1);
List<? extends StructField> fields = soi.getAllStructFieldRefs();
assertEquals(6, fields.size());
assertEquals(fields.get(0), soi.getStructFieldRef("aint"));
-
+
// null
- for (int i=0; i<fields.size(); i++) {
+ for (int i = 0; i < fields.size(); i++) {
assertNull(soi.getStructFieldData(null, fields.get(i)));
}
-
+
// real object
Complex cc = new Complex();
cc.aint = 1;
cc.aString = "test";
- List<Integer> c2 = Arrays.asList(new Integer[]{1,2,3});
- cc.lint = c2;
- List<String> c3 = Arrays.asList(new String[]{"one", "two"});
- cc.lString = c3;
- List<IntString> c4 = new ArrayList<IntString>();
+ List<Integer> c2 = Arrays.asList(new Integer[] { 1, 2, 3 });
+ cc.lint = c2;
+ List<String> c3 = Arrays.asList(new String[] { "one", "two" });
+ cc.lString = c3;
+ List<IntString> c4 = new ArrayList<IntString>();
cc.lintString = c4;
- cc.mStringString = null;
+ cc.mStringString = null;
// standard object
Object c = ObjectInspectorUtils.copyToStandardObject(cc, oi1);
-
+
assertEquals(1, soi.getStructFieldData(c, fields.get(0)));
assertEquals("test", soi.getStructFieldData(c, fields.get(1)));
assertEquals(c2, soi.getStructFieldData(c, fields.get(2)));
@@ -69,35 +71,38 @@
assertEquals(c4, soi.getStructFieldData(c, fields.get(4)));
assertNull(soi.getStructFieldData(c, fields.get(5)));
ArrayList<Object> cfields = new ArrayList<Object>();
- for(int i=0; i<6; i++) {
+ for (int i = 0; i < 6; i++) {
cfields.add(soi.getStructFieldData(c, fields.get(i)));
}
assertEquals(cfields, soi.getStructFieldsDataAsList(c));
-
+
// sub fields
assertEquals(PrimitiveObjectInspectorFactory.javaIntObjectInspector,
fields.get(0).getFieldObjectInspector());
assertEquals(PrimitiveObjectInspectorFactory.javaStringObjectInspector,
fields.get(1).getFieldObjectInspector());
- assertEquals(ObjectInspectorFactory.getStandardListObjectInspector(
- PrimitiveObjectInspectorFactory.javaIntObjectInspector),
+ assertEquals(
+ ObjectInspectorFactory
+ .getStandardListObjectInspector(PrimitiveObjectInspectorFactory.javaIntObjectInspector),
fields.get(2).getFieldObjectInspector());
- assertEquals(ObjectInspectorFactory.getStandardListObjectInspector(
- PrimitiveObjectInspectorFactory.javaStringObjectInspector),
+ assertEquals(
+ ObjectInspectorFactory
+ .getStandardListObjectInspector(PrimitiveObjectInspectorFactory.javaStringObjectInspector),
fields.get(3).getFieldObjectInspector());
- assertEquals(ObjectInspectorUtils.getStandardObjectInspector(
- ObjectInspectorFactory.getStandardListObjectInspector(
- ObjectInspectorFactory.getReflectionObjectInspector(IntString.class,
- ObjectInspectorFactory.ObjectInspectorOptions.THRIFT))),
+ assertEquals(ObjectInspectorUtils
+ .getStandardObjectInspector(ObjectInspectorFactory
+ .getStandardListObjectInspector(ObjectInspectorFactory
+ .getReflectionObjectInspector(IntString.class,
+ ObjectInspectorFactory.ObjectInspectorOptions.THRIFT))),
fields.get(4).getFieldObjectInspector());
assertEquals(ObjectInspectorFactory.getStandardMapObjectInspector(
PrimitiveObjectInspectorFactory.javaStringObjectInspector,
- PrimitiveObjectInspectorFactory.javaStringObjectInspector),
- fields.get(5).getFieldObjectInspector());
+ PrimitiveObjectInspectorFactory.javaStringObjectInspector), fields
+ .get(5).getFieldObjectInspector());
} catch (Throwable e) {
e.printStackTrace();
throw e;
}
-
- }
+
+ }
}
Modified: hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestReflectionObjectInspectors.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestReflectionObjectInspectors.java?rev=901625&r1=901624&r2=901625&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestReflectionObjectInspectors.java (original)
+++ hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestReflectionObjectInspectors.java Thu Jan 21 09:52:44 2010
@@ -21,57 +21,60 @@
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import junit.framework.TestCase;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category;
+import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
public class TestReflectionObjectInspectors extends TestCase {
public void testReflectionObjectInspectors() throws Throwable {
try {
- ObjectInspector oi1 = ObjectInspectorFactory.getReflectionObjectInspector(
- MyStruct.class, ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
- ObjectInspector oi2 = ObjectInspectorFactory.getReflectionObjectInspector(
- MyStruct.class, ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
+ ObjectInspector oi1 = ObjectInspectorFactory
+ .getReflectionObjectInspector(MyStruct.class,
+ ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
+ ObjectInspector oi2 = ObjectInspectorFactory
+ .getReflectionObjectInspector(MyStruct.class,
+ ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
assertEquals(oi1, oi2);
-
+
// metadata
assertEquals(Category.STRUCT, oi1.getCategory());
- StructObjectInspector soi = (StructObjectInspector)oi1;
- List<? extends StructField> fields = soi.getAllStructFieldRefs();
+ StructObjectInspector soi = (StructObjectInspector) oi1;
+ List<? extends StructField> fields = soi.getAllStructFieldRefs();
assertEquals(6, fields.size());
assertEquals(fields.get(2), soi.getStructFieldRef("myString"));
-
+
// null
- for (int i=0; i<fields.size(); i++) {
+ for (int i = 0; i < fields.size(); i++) {
assertNull(soi.getStructFieldData(null, fields.get(i)));
}
assertNull(soi.getStructFieldsDataAsList(null));
-
+
// non nulls
MyStruct a = new MyStruct();
a.myInt = 1;
a.myInteger = 2;
a.myString = "test";
a.myStruct = a;
- a.myListString = Arrays.asList(new String[]{"a", "b", "c"});
+ a.myListString = Arrays.asList(new String[] { "a", "b", "c" });
a.myMapStringString = new HashMap<String, String>();
a.myMapStringString.put("key", "value");
-
+
assertEquals(1, soi.getStructFieldData(a, fields.get(0)));
assertEquals(2, soi.getStructFieldData(a, fields.get(1)));
assertEquals("test", soi.getStructFieldData(a, fields.get(2)));
assertEquals(a, soi.getStructFieldData(a, fields.get(3)));
assertEquals(a.myListString, soi.getStructFieldData(a, fields.get(4)));
- assertEquals(a.myMapStringString, soi.getStructFieldData(a, fields.get(5)));
+ assertEquals(a.myMapStringString, soi
+ .getStructFieldData(a, fields.get(5)));
ArrayList<Object> afields = new ArrayList<Object>();
- for(int i=0; i<6; i++) {
+ for (int i = 0; i < 6; i++) {
afields.add(soi.getStructFieldData(a, fields.get(i)));
}
assertEquals(afields, soi.getStructFieldsDataAsList(a));
-
+
// sub fields
assertEquals(PrimitiveObjectInspectorFactory.javaIntObjectInspector,
fields.get(0).getFieldObjectInspector());
@@ -80,13 +83,14 @@
assertEquals(PrimitiveObjectInspectorFactory.javaStringObjectInspector,
fields.get(2).getFieldObjectInspector());
assertEquals(soi, fields.get(3).getFieldObjectInspector());
- assertEquals(ObjectInspectorFactory.getStandardListObjectInspector(
- PrimitiveObjectInspectorFactory.javaStringObjectInspector),
+ assertEquals(
+ ObjectInspectorFactory
+ .getStandardListObjectInspector(PrimitiveObjectInspectorFactory.javaStringObjectInspector),
fields.get(4).getFieldObjectInspector());
assertEquals(ObjectInspectorFactory.getStandardMapObjectInspector(
PrimitiveObjectInspectorFactory.javaStringObjectInspector,
- PrimitiveObjectInspectorFactory.javaStringObjectInspector),
- fields.get(5).getFieldObjectInspector());
+ PrimitiveObjectInspectorFactory.javaStringObjectInspector), fields
+ .get(5).getFieldObjectInspector());
} catch (Throwable e) {
e.printStackTrace();
throw e;
Modified: hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestStandardObjectInspectors.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestStandardObjectInspectors.java?rev=901625&r1=901624&r2=901625&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestStandardObjectInspectors.java (original)
+++ hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestStandardObjectInspectors.java Thu Jan 21 09:52:44 2010
@@ -21,6 +21,8 @@
import java.util.HashMap;
import java.util.List;
+import junit.framework.TestCase;
+
import org.apache.hadoop.hive.serde2.io.ByteWritable;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
@@ -34,38 +36,41 @@
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
-import junit.framework.TestCase;
-
public class TestStandardObjectInspectors extends TestCase {
-
- void doTestStandardPrimitiveObjectInspector(Class<?> writableClass, Class<?> javaClass) throws Throwable {
+ void doTestStandardPrimitiveObjectInspector(Class<?> writableClass,
+ Class<?> javaClass) throws Throwable {
try {
- PrimitiveObjectInspector oi1 = PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(
- PrimitiveObjectInspectorUtils.getTypeEntryFromPrimitiveWritableClass(writableClass).primitiveCategory);
- PrimitiveObjectInspector oi2 = PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(
- PrimitiveObjectInspectorUtils.getTypeEntryFromPrimitiveWritableClass(writableClass).primitiveCategory);
+ PrimitiveObjectInspector oi1 = PrimitiveObjectInspectorFactory
+ .getPrimitiveWritableObjectInspector(PrimitiveObjectInspectorUtils
+ .getTypeEntryFromPrimitiveWritableClass(writableClass).primitiveCategory);
+ PrimitiveObjectInspector oi2 = PrimitiveObjectInspectorFactory
+ .getPrimitiveWritableObjectInspector(PrimitiveObjectInspectorUtils
+ .getTypeEntryFromPrimitiveWritableClass(writableClass).primitiveCategory);
assertEquals(oi1, oi2);
assertEquals(Category.PRIMITIVE, oi1.getCategory());
assertEquals(writableClass, oi1.getPrimitiveWritableClass());
assertEquals(javaClass, oi1.getJavaPrimitiveClass());
// Cannot create NullWritable instances
if (!NullWritable.class.equals(writableClass)) {
- assertEquals(writableClass, oi1.getPrimitiveWritableObject(writableClass.newInstance()).getClass());
- assertEquals(javaClass, oi1.getPrimitiveJavaObject(writableClass.newInstance()).getClass());
+ assertEquals(writableClass, oi1.getPrimitiveWritableObject(
+ writableClass.newInstance()).getClass());
+ assertEquals(javaClass, oi1.getPrimitiveJavaObject(
+ writableClass.newInstance()).getClass());
}
- assertEquals(PrimitiveObjectInspectorUtils.getTypeNameFromPrimitiveWritable(writableClass),
- oi1.getTypeName());
+ assertEquals(PrimitiveObjectInspectorUtils
+ .getTypeNameFromPrimitiveWritable(writableClass), oi1.getTypeName());
} catch (Throwable e) {
e.printStackTrace();
throw e;
}
}
-
+
public void testStandardPrimitiveObjectInspector() throws Throwable {
try {
doTestStandardPrimitiveObjectInspector(NullWritable.class, Void.class);
- doTestStandardPrimitiveObjectInspector(BooleanWritable.class, Boolean.class);
+ doTestStandardPrimitiveObjectInspector(BooleanWritable.class,
+ Boolean.class);
doTestStandardPrimitiveObjectInspector(ByteWritable.class, Byte.class);
doTestStandardPrimitiveObjectInspector(ShortWritable.class, Short.class);
doTestStandardPrimitiveObjectInspector(IntWritable.class, Integer.class);
@@ -79,41 +84,52 @@
}
}
- void doTestJavaPrimitiveObjectInspector(Class<?> writableClass, Class<?> javaClass, Object javaObject) throws Throwable {
+ void doTestJavaPrimitiveObjectInspector(Class<?> writableClass,
+ Class<?> javaClass, Object javaObject) throws Throwable {
try {
- PrimitiveObjectInspector oi1 = PrimitiveObjectInspectorFactory.getPrimitiveJavaObjectInspector(
- PrimitiveObjectInspectorUtils.getTypeEntryFromPrimitiveJavaClass(javaClass).primitiveCategory);
- PrimitiveObjectInspector oi2 = PrimitiveObjectInspectorFactory.getPrimitiveJavaObjectInspector(
- PrimitiveObjectInspectorUtils.getTypeEntryFromPrimitiveJavaClass(javaClass).primitiveCategory);
+ PrimitiveObjectInspector oi1 = PrimitiveObjectInspectorFactory
+ .getPrimitiveJavaObjectInspector(PrimitiveObjectInspectorUtils
+ .getTypeEntryFromPrimitiveJavaClass(javaClass).primitiveCategory);
+ PrimitiveObjectInspector oi2 = PrimitiveObjectInspectorFactory
+ .getPrimitiveJavaObjectInspector(PrimitiveObjectInspectorUtils
+ .getTypeEntryFromPrimitiveJavaClass(javaClass).primitiveCategory);
assertEquals(oi1, oi2);
assertEquals(Category.PRIMITIVE, oi1.getCategory());
assertEquals(javaClass, oi1.getJavaPrimitiveClass());
assertEquals(writableClass, oi1.getPrimitiveWritableClass());
if (javaObject != null) {
- assertEquals(javaClass, oi1.getPrimitiveJavaObject(javaObject).getClass());
- assertEquals(writableClass, oi1.getPrimitiveWritableObject(javaObject).getClass());
+ assertEquals(javaClass, oi1.getPrimitiveJavaObject(javaObject)
+ .getClass());
+ assertEquals(writableClass, oi1.getPrimitiveWritableObject(javaObject)
+ .getClass());
}
-
- assertEquals(PrimitiveObjectInspectorUtils.getTypeNameFromPrimitiveJava(javaClass),
- oi1.getTypeName());
+
+ assertEquals(PrimitiveObjectInspectorUtils
+ .getTypeNameFromPrimitiveJava(javaClass), oi1.getTypeName());
} catch (Throwable e) {
e.printStackTrace();
throw e;
}
}
-
+
public void testJavaPrimitiveObjectInspector() throws Throwable {
try {
doTestJavaPrimitiveObjectInspector(NullWritable.class, Void.class, null);
- doTestJavaPrimitiveObjectInspector(BooleanWritable.class, Boolean.class, true);
- doTestJavaPrimitiveObjectInspector(ByteWritable.class, Byte.class, (byte)1);
- doTestJavaPrimitiveObjectInspector(ShortWritable.class, Short.class, (short)1);
- doTestJavaPrimitiveObjectInspector(IntWritable.class, Integer.class, (int)1);
- doTestJavaPrimitiveObjectInspector(LongWritable.class, Long.class, (long)1);
- doTestJavaPrimitiveObjectInspector(FloatWritable.class, Float.class, (float)1);
- doTestJavaPrimitiveObjectInspector(DoubleWritable.class, Double.class, (double)1);
+ doTestJavaPrimitiveObjectInspector(BooleanWritable.class, Boolean.class,
+ true);
+ doTestJavaPrimitiveObjectInspector(ByteWritable.class, Byte.class,
+ (byte) 1);
+ doTestJavaPrimitiveObjectInspector(ShortWritable.class, Short.class,
+ (short) 1);
+ doTestJavaPrimitiveObjectInspector(IntWritable.class, Integer.class, 1);
+ doTestJavaPrimitiveObjectInspector(LongWritable.class, Long.class,
+ (long) 1);
+ doTestJavaPrimitiveObjectInspector(FloatWritable.class, Float.class,
+ (float) 1);
+ doTestJavaPrimitiveObjectInspector(DoubleWritable.class, Double.class,
+ (double) 1);
doTestJavaPrimitiveObjectInspector(Text.class, String.class, "a");
-
+
} catch (Throwable e) {
e.printStackTrace();
throw e;
@@ -122,23 +138,26 @@
public void testStandardListObjectInspector() throws Throwable {
try {
- StandardListObjectInspector loi1 = ObjectInspectorFactory.getStandardListObjectInspector(
- PrimitiveObjectInspectorFactory.javaIntObjectInspector);
- StandardListObjectInspector loi2 = ObjectInspectorFactory.getStandardListObjectInspector(
- PrimitiveObjectInspectorFactory.javaIntObjectInspector);
+ StandardListObjectInspector loi1 = ObjectInspectorFactory
+ .getStandardListObjectInspector(PrimitiveObjectInspectorFactory.javaIntObjectInspector);
+ StandardListObjectInspector loi2 = ObjectInspectorFactory
+ .getStandardListObjectInspector(PrimitiveObjectInspectorFactory.javaIntObjectInspector);
assertEquals(loi1, loi2);
-
+
// metadata
assertEquals(Category.LIST, loi1.getCategory());
- assertEquals(PrimitiveObjectInspectorFactory.javaIntObjectInspector,
- loi1.getListElementObjectInspector());
-
+ assertEquals(PrimitiveObjectInspectorFactory.javaIntObjectInspector, loi1
+ .getListElementObjectInspector());
+
// null
assertNull("loi1.getList(null) should be null.", loi1.getList(null));
- assertEquals("loi1.getListLength(null) should be -1.", loi1.getListLength(null), -1);
- assertNull("loi1.getListElement(null, 0) should be null", loi1.getListElement(null, 0));
- assertNull("loi1.getListElement(null, 100) should be null", loi1.getListElement(null, 100));
-
+ assertEquals("loi1.getListLength(null) should be -1.", loi1
+ .getListLength(null), -1);
+ assertNull("loi1.getListElement(null, 0) should be null", loi1
+ .getListElement(null, 0));
+ assertNull("loi1.getListElement(null, 100) should be null", loi1
+ .getListElement(null, 100));
+
// ArrayList
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(0);
@@ -151,7 +170,7 @@
assertEquals(3, loi1.getListElement(list, 3));
assertNull(loi1.getListElement(list, -1));
assertNull(loi1.getListElement(list, 4));
-
+
// Settable
Object list4 = loi1.create(4);
loi1.set(list4, 0, 0);
@@ -159,48 +178,50 @@
loi1.set(list4, 2, 2);
loi1.set(list4, 3, 3);
assertEquals(list, list4);
-
+
loi1.resize(list4, 5);
loi1.set(list4, 4, 4);
loi1.resize(list4, 4);
assertEquals(list, list4);
-
+
} catch (Throwable e) {
e.printStackTrace();
throw e;
}
-
+
}
public void testStandardMapObjectInspector() throws Throwable {
try {
- StandardMapObjectInspector moi1 = ObjectInspectorFactory.getStandardMapObjectInspector(
- PrimitiveObjectInspectorFactory.javaStringObjectInspector,
- PrimitiveObjectInspectorFactory.javaIntObjectInspector
- );
- StandardMapObjectInspector moi2 = ObjectInspectorFactory.getStandardMapObjectInspector(
- PrimitiveObjectInspectorFactory.javaStringObjectInspector,
- PrimitiveObjectInspectorFactory.javaIntObjectInspector
- );
+ StandardMapObjectInspector moi1 = ObjectInspectorFactory
+ .getStandardMapObjectInspector(
+ PrimitiveObjectInspectorFactory.javaStringObjectInspector,
+ PrimitiveObjectInspectorFactory.javaIntObjectInspector);
+ StandardMapObjectInspector moi2 = ObjectInspectorFactory
+ .getStandardMapObjectInspector(
+ PrimitiveObjectInspectorFactory.javaStringObjectInspector,
+ PrimitiveObjectInspectorFactory.javaIntObjectInspector);
assertEquals(moi1, moi2);
-
+
// metadata
assertEquals(Category.MAP, moi1.getCategory());
- assertEquals(moi1.getMapKeyObjectInspector(),
+ assertEquals(moi1.getMapKeyObjectInspector(),
PrimitiveObjectInspectorFactory.javaStringObjectInspector);
- assertEquals(moi2.getMapValueObjectInspector(),
+ assertEquals(moi2.getMapValueObjectInspector(),
PrimitiveObjectInspectorFactory.javaIntObjectInspector);
-
+
// null
assertNull(moi1.getMap(null));
assertNull(moi1.getMapValueElement(null, null));
assertNull(moi1.getMapValueElement(null, "nokey"));
assertEquals(-1, moi1.getMapSize(null));
- assertEquals("map<"
- + PrimitiveObjectInspectorFactory.javaStringObjectInspector.getTypeName() + ","
- + PrimitiveObjectInspectorFactory.javaIntObjectInspector.getTypeName() + ">",
- moi1.getTypeName());
-
+ assertEquals("map<"
+ + PrimitiveObjectInspectorFactory.javaStringObjectInspector
+ .getTypeName()
+ + ","
+ + PrimitiveObjectInspectorFactory.javaIntObjectInspector
+ .getTypeName() + ">", moi1.getTypeName());
+
// HashMap
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("one", 1);
@@ -213,7 +234,7 @@
assertEquals(3, moi1.getMapValueElement(map, "three"));
assertNull(moi1.getMapValueElement(map, null));
assertNull(moi1.getMapValueElement(map, "null"));
-
+
// Settable
Object map3 = moi1.create();
moi1.put(map3, "one", 1);
@@ -222,15 +243,14 @@
assertEquals(map, map3);
moi1.clear(map3);
assertEquals(0, moi1.getMapSize(map3));
-
+
} catch (Throwable e) {
e.printStackTrace();
throw e;
}
-
+
}
-
@SuppressWarnings("unchecked")
public void testStandardStructObjectInspector() throws Throwable {
try {
@@ -239,52 +259,62 @@
fieldNames.add("secondString");
fieldNames.add("thirdBoolean");
ArrayList<ObjectInspector> fieldObjectInspectors = new ArrayList<ObjectInspector>();
- fieldObjectInspectors.add(PrimitiveObjectInspectorFactory.javaIntObjectInspector);
- fieldObjectInspectors.add(PrimitiveObjectInspectorFactory.javaStringObjectInspector);
- fieldObjectInspectors.add(PrimitiveObjectInspectorFactory.javaBooleanObjectInspector);
-
- StandardStructObjectInspector soi1 = ObjectInspectorFactory.getStandardStructObjectInspector(
- fieldNames, fieldObjectInspectors);
- StandardStructObjectInspector soi2 = ObjectInspectorFactory.getStandardStructObjectInspector(
- (ArrayList<String>)fieldNames.clone(), (ArrayList<ObjectInspector>)fieldObjectInspectors.clone());
+ fieldObjectInspectors
+ .add(PrimitiveObjectInspectorFactory.javaIntObjectInspector);
+ fieldObjectInspectors
+ .add(PrimitiveObjectInspectorFactory.javaStringObjectInspector);
+ fieldObjectInspectors
+ .add(PrimitiveObjectInspectorFactory.javaBooleanObjectInspector);
+
+ StandardStructObjectInspector soi1 = ObjectInspectorFactory
+ .getStandardStructObjectInspector(fieldNames, fieldObjectInspectors);
+ StandardStructObjectInspector soi2 = ObjectInspectorFactory
+ .getStandardStructObjectInspector((ArrayList<String>) fieldNames
+ .clone(), (ArrayList<ObjectInspector>) fieldObjectInspectors
+ .clone());
assertEquals(soi1, soi2);
-
+
// metadata
assertEquals(Category.STRUCT, soi1.getCategory());
List<? extends StructField> fields = soi1.getAllStructFieldRefs();
assertEquals(3, fields.size());
- for (int i=0; i<3; i++) {
- assertEquals(fieldNames.get(i).toLowerCase(), fields.get(i).getFieldName());
- assertEquals(fieldObjectInspectors.get(i), fields.get(i).getFieldObjectInspector());
+ for (int i = 0; i < 3; i++) {
+ assertEquals(fieldNames.get(i).toLowerCase(), fields.get(i)
+ .getFieldName());
+ assertEquals(fieldObjectInspectors.get(i), fields.get(i)
+ .getFieldObjectInspector());
}
assertEquals(fields.get(1), soi1.getStructFieldRef("secondString"));
- StringBuilder structTypeName = new StringBuilder();
+ StringBuilder structTypeName = new StringBuilder();
structTypeName.append("struct<");
- for(int i=0; i<fields.size(); i++) {
- if (i>0) structTypeName.append(",");
+ for (int i = 0; i < fields.size(); i++) {
+ if (i > 0) {
+ structTypeName.append(",");
+ }
structTypeName.append(fields.get(i).getFieldName());
structTypeName.append(":");
- structTypeName.append(fields.get(i).getFieldObjectInspector().getTypeName());
+ structTypeName.append(fields.get(i).getFieldObjectInspector()
+ .getTypeName());
}
structTypeName.append(">");
assertEquals(structTypeName.toString(), soi1.getTypeName());
-
+
// null
assertNull(soi1.getStructFieldData(null, fields.get(0)));
assertNull(soi1.getStructFieldData(null, fields.get(1)));
assertNull(soi1.getStructFieldData(null, fields.get(2)));
assertNull(soi1.getStructFieldsDataAsList(null));
-
+
// HashStruct
ArrayList<Object> struct = new ArrayList<Object>(3);
struct.add(1);
struct.add("two");
struct.add(true);
-
+
assertEquals(1, soi1.getStructFieldData(struct, fields.get(0)));
assertEquals("two", soi1.getStructFieldData(struct, fields.get(1)));
assertEquals(true, soi1.getStructFieldData(struct, fields.get(2)));
-
+
// Settable
Object struct3 = soi1.create();
System.out.println(struct3);
@@ -292,12 +322,12 @@
soi1.setStructFieldData(struct3, fields.get(1), "two");
soi1.setStructFieldData(struct3, fields.get(2), true);
assertEquals(struct, struct3);
-
+
} catch (Throwable e) {
e.printStackTrace();
throw e;
}
-
+
}
-
+
}
Modified: hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestThriftObjectInspectors.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestThriftObjectInspectors.java?rev=901625&r1=901624&r2=901625&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestThriftObjectInspectors.java (original)
+++ hadoop/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/TestThriftObjectInspectors.java Thu Jan 21 09:52:44 2010
@@ -22,47 +22,49 @@
import java.util.List;
import junit.framework.TestCase;
-import org.apache.hadoop.hive.serde2.thrift.test.Complex;
-import org.apache.hadoop.hive.serde2.thrift.test.IntString;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
+import org.apache.hadoop.hive.serde2.thrift.test.Complex;
+import org.apache.hadoop.hive.serde2.thrift.test.IntString;
public class TestThriftObjectInspectors extends TestCase {
public void testThriftObjectInspectors() throws Throwable {
try {
- ObjectInspector oi1 = ObjectInspectorFactory.getReflectionObjectInspector(
- Complex.class, ObjectInspectorFactory.ObjectInspectorOptions.THRIFT);
- ObjectInspector oi2 = ObjectInspectorFactory.getReflectionObjectInspector(
- Complex.class, ObjectInspectorFactory.ObjectInspectorOptions.THRIFT);
+ ObjectInspector oi1 = ObjectInspectorFactory
+ .getReflectionObjectInspector(Complex.class,
+ ObjectInspectorFactory.ObjectInspectorOptions.THRIFT);
+ ObjectInspector oi2 = ObjectInspectorFactory
+ .getReflectionObjectInspector(Complex.class,
+ ObjectInspectorFactory.ObjectInspectorOptions.THRIFT);
assertEquals(oi1, oi2);
-
+
// metadata
assertEquals(Category.STRUCT, oi1.getCategory());
- StructObjectInspector soi = (StructObjectInspector)oi1;
+ StructObjectInspector soi = (StructObjectInspector) oi1;
List<? extends StructField> fields = soi.getAllStructFieldRefs();
assertEquals(6, fields.size());
assertEquals(fields.get(0), soi.getStructFieldRef("aint"));
-
+
// null
- for (int i=0; i<fields.size(); i++) {
+ for (int i = 0; i < fields.size(); i++) {
assertNull(soi.getStructFieldData(null, fields.get(i)));
}
-
+
// real object
Complex c = new Complex();
c.aint = 1;
c.aString = "test";
- List<Integer> c2 = Arrays.asList(new Integer[]{1,2,3});
- c.lint = c2;
- List<String> c3 = Arrays.asList(new String[]{"one", "two"});
- c.lString = c3;
- List<IntString> c4 = new ArrayList<IntString>();
+ List<Integer> c2 = Arrays.asList(new Integer[] { 1, 2, 3 });
+ c.lint = c2;
+ List<String> c3 = Arrays.asList(new String[] { "one", "two" });
+ c.lString = c3;
+ List<IntString> c4 = new ArrayList<IntString>();
c.lintString = c4;
- c.mStringString = null;
-
+ c.mStringString = null;
+
assertEquals(1, soi.getStructFieldData(c, fields.get(0)));
assertEquals("test", soi.getStructFieldData(c, fields.get(1)));
assertEquals(c2, soi.getStructFieldData(c, fields.get(2)));
@@ -70,30 +72,33 @@
assertEquals(c4, soi.getStructFieldData(c, fields.get(4)));
assertNull(soi.getStructFieldData(c, fields.get(5)));
ArrayList<Object> cfields = new ArrayList<Object>();
- for(int i=0; i<6; i++) {
+ for (int i = 0; i < 6; i++) {
cfields.add(soi.getStructFieldData(c, fields.get(i)));
}
assertEquals(cfields, soi.getStructFieldsDataAsList(c));
-
+
// sub fields
assertEquals(PrimitiveObjectInspectorFactory.javaIntObjectInspector,
fields.get(0).getFieldObjectInspector());
assertEquals(PrimitiveObjectInspectorFactory.javaStringObjectInspector,
fields.get(1).getFieldObjectInspector());
- assertEquals(ObjectInspectorFactory.getStandardListObjectInspector(
- PrimitiveObjectInspectorFactory.javaIntObjectInspector),
+ assertEquals(
+ ObjectInspectorFactory
+ .getStandardListObjectInspector(PrimitiveObjectInspectorFactory.javaIntObjectInspector),
fields.get(2).getFieldObjectInspector());
- assertEquals(ObjectInspectorFactory.getStandardListObjectInspector(
- PrimitiveObjectInspectorFactory.javaStringObjectInspector),
+ assertEquals(
+ ObjectInspectorFactory
+ .getStandardListObjectInspector(PrimitiveObjectInspectorFactory.javaStringObjectInspector),
fields.get(3).getFieldObjectInspector());
- assertEquals(ObjectInspectorFactory.getStandardListObjectInspector(
- ObjectInspectorFactory.getReflectionObjectInspector(IntString.class,
- ObjectInspectorFactory.ObjectInspectorOptions.THRIFT)),
+ assertEquals(ObjectInspectorFactory
+ .getStandardListObjectInspector(ObjectInspectorFactory
+ .getReflectionObjectInspector(IntString.class,
+ ObjectInspectorFactory.ObjectInspectorOptions.THRIFT)),
fields.get(4).getFieldObjectInspector());
assertEquals(ObjectInspectorFactory.getStandardMapObjectInspector(
PrimitiveObjectInspectorFactory.javaStringObjectInspector,
- PrimitiveObjectInspectorFactory.javaStringObjectInspector),
- fields.get(5).getFieldObjectInspector());
+ PrimitiveObjectInspectorFactory.javaStringObjectInspector), fields
+ .get(5).getFieldObjectInspector());
} catch (Throwable e) {
e.printStackTrace();
throw e;