From d5560dfab5d23fd034a36f2716de8d0a85ff1767 Mon Sep 17 00:00:00 2001 From: Ben Roling Date: Mon, 28 Jul 2014 11:08:20 -0500 Subject: [PATCH] HIVE-5865: Refer to map key type as CharSequence instead of Utf8 --- .../java/org/apache/hadoop/hive/serde2/avro/AvroDeserializer.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroDeserializer.java serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroDeserializer.java index 29262ba..50c14e2 100644 --- serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroDeserializer.java +++ serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroDeserializer.java @@ -40,7 +40,6 @@ import org.apache.avro.io.BinaryEncoder; import org.apache.avro.io.DecoderFactory; import org.apache.avro.io.EncoderFactory; -import org.apache.avro.util.Utf8; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hive.common.type.HiveChar; @@ -370,10 +369,10 @@ private Object deserializeMap(Object datum, Schema fileSchema, Schema mapSchema, // Avro only allows maps with Strings for keys, so we only have to worry // about deserializing the values Map map = new HashMap(); - Map mapDatum = (Map)datum; + Map mapDatum = (Map)datum; Schema valueSchema = mapSchema.getValueType(); TypeInfo valueTypeInfo = columnType.getMapValueTypeInfo(); - for (Utf8 key : mapDatum.keySet()) { + for (CharSequence key : mapDatum.keySet()) { Object value = mapDatum.get(key); map.put(key.toString(), worker(value, fileSchema == null ? null : fileSchema.getValueType(), valueSchema, valueTypeInfo)); -- 1.8.5.2 (Apple Git-48)