KYLIN-1803 ExtendedColumn Measure Encoding with Non-ascii Characters
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/c919ca2c Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/c919ca2c Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/c919ca2c Branch: refs/heads/stream_m1 Commit: c919ca2c7b59e0a25a4485a345d278edca2f7a60 Parents: 74ce81c Author: sunyerui <sunye...@gmail.com> Authored: Fri Jun 17 14:03:12 2016 +0800 Committer: sunyerui <sunye...@gmail.com> Committed: Fri Jun 17 14:03:12 2016 +0800 ---------------------------------------------------------------------- .../measure/extendedcolumn/ExtendedColumnMeasureType.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/c919ca2c/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java ---------------------------------------------------------------------- diff --git a/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java b/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java index ef7081c..f0b4371 100644 --- a/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java +++ b/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java @@ -24,6 +24,7 @@ import java.util.Map; import org.apache.commons.io.Charsets; import org.apache.kylin.common.util.ByteArray; +import org.apache.kylin.common.util.Bytes; import org.apache.kylin.common.util.Dictionary; import org.apache.kylin.measure.MeasureAggregator; import org.apache.kylin.measure.MeasureIngester; @@ -148,8 +149,8 @@ public class ExtendedColumnMeasureType extends MeasureType<ByteArray> { @Override public void reload(Object measureValue) { ByteArray byteArray = (ByteArray) measureValue; - //the array in ByteArray is garanteed to be completed owned by the ByteArray - value = new String(byteArray.array(), Charsets.toCharset("UTF-8")); + //the array in ByteArray is guaranteed to be completed owned by the ByteArray + value = Bytes.toString(byteArray.array()); } @Override @@ -210,7 +211,7 @@ public class ExtendedColumnMeasureType extends MeasureType<ByteArray> { return new ByteArray(); } - byte[] bytes = literal.getBytes(); + byte[] bytes = Bytes.toBytes(literal); if (bytes.length <= dataType.getPrecision()) { return new ByteArray(bytes); } else {