diff --git druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java index 2e90df1..b4f7f16 100644 --- druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java +++ druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java @@ -53,10 +53,13 @@ import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory; import org.apache.hadoop.hive.serde2.objectinspector.StructField; import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector; +import org.apache.hadoop.hive.serde2.objectinspector.primitive.ByteObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.primitive.DoubleObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.primitive.FloatObjectInspector; +import org.apache.hadoop.hive.serde2.objectinspector.primitive.IntObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.primitive.LongObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory; +import org.apache.hadoop.hive.serde2.objectinspector.primitive.ShortObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.primitive.TimestampObjectInspector; import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo; @@ -162,9 +165,9 @@ public ObjectInspector apply(PrimitiveTypeInfo type) { throw new SerDeException("Druid broker address not specified in configuration"); } - numConnection = HiveConf + numConnection = HiveConf .getIntVar(configuration, HiveConf.ConfVars.HIVE_DRUID_NUM_HTTP_CONNECTION); - readTimeout = new Period( + readTimeout = new Period( HiveConf.getVar(configuration, HiveConf.ConfVars.HIVE_DRUID_HTTP_READ_TIMEOUT)); // Infer schema @@ -395,6 +398,15 @@ public Writable serialize(Object o, ObjectInspector objectInspector) throws SerD .getPrimitiveJavaObject( values.get(i)).getTime(); break; + case BYTE: + res = ((ByteObjectInspector) fields.get(i).getFieldObjectInspector()).get(values.get(i)); + break; + case SHORT: + res = ((ShortObjectInspector) fields.get(i).getFieldObjectInspector()).get(values.get(i)); + break; + case INT: + res = ((IntObjectInspector) fields.get(i).getFieldObjectInspector()).get(values.get(i)); + break; case LONG: res = ((LongObjectInspector) fields.get(i).getFieldObjectInspector()).get(values.get(i)); break;