You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2015/10/29 07:42:08 UTC
incubator-kylin git commit: KYLIN-1113 Support TopN query in
v2/CubeStorageQuery.java
Repository: incubator-kylin
Updated Branches:
refs/heads/topn cc3edd99f -> 11a8c99c3
KYLIN-1113 Support TopN query in v2/CubeStorageQuery.java
Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/11a8c99c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/11a8c99c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/11a8c99c
Branch: refs/heads/topn
Commit: 11a8c99c37958393acb2728e8b2f092cc5bf04b6
Parents: cc3edd9
Author: shaofengshi <sh...@apache.org>
Authored: Thu Oct 29 14:41:46 2015 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Thu Oct 29 14:41:46 2015 +0800
----------------------------------------------------------------------
.../apache/kylin/storage/hbase/cube/v2/CubeStorageQuery.java | 5 +++++
.../apache/kylin/storage/hbase/cube/v2/CubeTupleConverter.java | 3 ++-
.../storage/hbase/cube/v2/SequentialCubeTopNTupleIterator.java | 1 +
3 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/11a8c99c/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeStorageQuery.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeStorageQuery.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeStorageQuery.java
index 8317403..4ced852 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeStorageQuery.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeStorageQuery.java
@@ -144,6 +144,11 @@ public class CubeStorageQuery implements ICachableStorageQuery {
if (sqlDigest.metricColumns.contains(column)) {
continue;
}
+
+ // skip topN display col
+ if (topNColumns.contains(column)) {
+ continue;
+ }
dimensions.add(column);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/11a8c99c/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeTupleConverter.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeTupleConverter.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeTupleConverter.java
index 2354a88..c89cce2 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeTupleConverter.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeTupleConverter.java
@@ -107,7 +107,8 @@ public class CubeTupleConverter {
if (this.topNCol != null) {
this.topNColTupleIdx = tupleInfo.hasColumn(this.topNCol) ? tupleInfo.getColumnIndex(this.topNCol) : -1;
- this.topNMeasureTupleIdx = nSelectedDims;
+ // topN only allow 1 measure
+ this.topNMeasureTupleIdx = tupleIdx[tupleIdx.length - 1];
this.topNColDict = (Dictionary<String>)cubeSeg.getDictionary(this.topNCol);
}
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/11a8c99c/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/SequentialCubeTopNTupleIterator.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/SequentialCubeTopNTupleIterator.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/SequentialCubeTopNTupleIterator.java
index aa50d00..f162be6 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/SequentialCubeTopNTupleIterator.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/SequentialCubeTopNTupleIterator.java
@@ -23,6 +23,7 @@ public class SequentialCubeTopNTupleIterator extends SequentialCubeTupleIterator
TblColRef topNCol, Set<FunctionDesc> selectedMetrics, TupleInfo returnTupleInfo, StorageContext context) {
super(scanners, cuboid, selectedDimensions, selectedMetrics, returnTupleInfo, context);
+ this.topNCol = topNCol;
}
@Override