TOPN value, which sum measure column group by dimension, error.
Environment
Apache Kylin:1.6.0
STEPS
1. Kafka produce one message
2. kylin consume the message
3. kylin build cuboid
4. execute sql
KafKa JSON data
{“T”:”2017-05-15”,“LV1”:”001”,”V”:-1}
MODEL
1、Dimensions : T, LV1
2、Measures : V
CUBE
1. Dimensions : T, LV1
2. Measures: _COUNT_; SUM(V); TOPN SUM COLUMN V GROUP BY LV1;
SQL and result
1、 SELECT LV1,SUM(V) V FROM TEST GROUP BY LV1
LV1
V
001
0
2、 SELECT LV1,SUM(V) V,COUNT(*) C FROM TEST GROUP BY LV1
LV1
V
C
001
-1
1
Problem
The sum(v) value is error in sql 1, and correct in sql 2.
The probably reasons are:
1、org.apache.kylin.measure.topn. TopNCounterSerializer.deserialize function
deserialize -1 to -0.99.
2、org.apache.kylin.metadata.tuple.setMeasureValue function convert
double(-0.99) to long(0)