You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by gi...@apache.org on 2019/03/18 21:23:58 UTC
[incubator-druid] branch master updated: Fix flattening Avro Maps
with Utf8 keys (#7258)
This is an automated email from the ASF dual-hosted git repository.
gian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git
The following commit(s) were added to refs/heads/master by this push:
new b2a940a Fix flattening Avro Maps with Utf8 keys (#7258)
b2a940a is described below
commit b2a940adddafa5d4762450daf7e166b2e9d6b1d7
Author: Christian Senet <ch...@hardis.fr>
AuthorDate: Mon Mar 18 22:23:53 2019 +0100
Fix flattening Avro Maps with Utf8 keys (#7258)
* #5884 Avro Maps can't be flattened in Kafka Indexing on master
* correct typo and reduce code size
---
.../apache/druid/data/input/avro/GenericAvroJsonProvider.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/extensions-core/avro-extensions/src/main/java/org/apache/druid/data/input/avro/GenericAvroJsonProvider.java b/extensions-core/avro-extensions/src/main/java/org/apache/druid/data/input/avro/GenericAvroJsonProvider.java
index 4beb757..bfb6e22 100644
--- a/extensions-core/avro-extensions/src/main/java/org/apache/druid/data/input/avro/GenericAvroJsonProvider.java
+++ b/extensions-core/avro-extensions/src/main/java/org/apache/druid/data/input/avro/GenericAvroJsonProvider.java
@@ -23,6 +23,7 @@ import com.jayway.jsonpath.InvalidJsonException;
import com.jayway.jsonpath.spi.json.JsonProvider;
import org.apache.avro.Schema;
import org.apache.avro.generic.GenericRecord;
+import org.apache.avro.util.Utf8;
import java.io.InputStream;
import java.util.ArrayList;
@@ -146,7 +147,13 @@ public class GenericAvroJsonProvider implements JsonProvider
} else if (o instanceof GenericRecord) {
return ((GenericRecord) o).get(s);
} else if (o instanceof Map) {
- return ((Map) o).get(s);
+ final Map theMap = (Map) o;
+ if (theMap.containsKey(s)) {
+ return theMap.get(s);
+ } else {
+ final Utf8 utf8Key = new Utf8(s);
+ return theMap.get(utf8Key);
+ }
} else {
throw new UnsupportedOperationException(o.getClass().getName());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org