You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ni...@apache.org on 2019/07/14 09:49:38 UTC
[kylin] branch master updated: Avoid repeatedly calling
"string.toLowerCase" in TimedJsonStreamParser#parse
This is an automated email from the ASF dual-hosted git repository.
nic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/master by this push:
new 7466b79 Avoid repeatedly calling "string.toLowerCase" in TimedJsonStreamParser#parse
7466b79 is described below
commit 7466b7913a9623d6f54fae3c8b8806f9a03b2d56
Author: yaqian.zhang <59...@qq.com>
AuthorDate: Fri Jul 5 10:01:41 2019 +0800
Avoid repeatedly calling "string.toLowerCase" in TimedJsonStreamParser#parse
---
.../java/org/apache/kylin/source/kafka/TimedJsonStreamParser.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/source-kafka/src/main/java/org/apache/kylin/source/kafka/TimedJsonStreamParser.java b/source-kafka/src/main/java/org/apache/kylin/source/kafka/TimedJsonStreamParser.java
index affa6f3..4920b12 100644
--- a/source-kafka/src/main/java/org/apache/kylin/source/kafka/TimedJsonStreamParser.java
+++ b/source-kafka/src/main/java/org/apache/kylin/source/kafka/TimedJsonStreamParser.java
@@ -70,6 +70,7 @@ public final class TimedJsonStreamParser extends StreamingParser {
private boolean strictCheck = true;
private final Map<String, Object> root = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
private final Map<String, Object> tempMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
+ private final Map<String, String> colLowerCaseMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
private final Map<String, String[]> nameMap = new HashMap<>();
public static final String EMBEDDED_PROPERTY_SEPARATOR = "|";
@@ -105,6 +106,10 @@ public final class TimedJsonStreamParser extends StreamingParser {
mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
mapper.disable(DeserializationFeature.FAIL_ON_INVALID_SUBTYPE);
mapper.enable(DeserializationFeature.USE_JAVA_ARRAY_FOR_JSON_ARRAY);
+
+ for (TblColRef col : allColumns) {
+ colLowerCaseMap.put(col.getName(), col.getName().toLowerCase(Locale.ROOT));
+ }
}
@Override
@@ -118,7 +123,7 @@ public final class TimedJsonStreamParser extends StreamingParser {
ArrayList<String> result = Lists.newArrayList();
for (TblColRef column : allColumns) {
- final String columnName = column.getName().toLowerCase(Locale.ROOT);
+ final String columnName = colLowerCaseMap.get(column.getName());
if (populateDerivedTimeColumns(columnName, result, t) == false) {
result.add(getValueByKey(column, root));
}