You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2015/05/15 09:17:16 UTC
incubator-kylin git commit: KYLIN-655, query test pass;
still missing coprocessor and hbase metrics logs etc..
Repository: incubator-kylin
Updated Branches:
refs/heads/0.8.0 62cf7c032 -> 5b507dd8b
KYLIN-655, query test pass; still missing coprocessor and hbase metrics logs etc..
Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/5b507dd8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/5b507dd8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/5b507dd8
Branch: refs/heads/0.8.0
Commit: 5b507dd8bcefc7d4a701c597d00cc9b82bf5228e
Parents: 62cf7c0
Author: Li, Yang <ya...@ebay.com>
Authored: Fri May 15 15:16:17 2015 +0800
Committer: Li, Yang <ya...@ebay.com>
Committed: Fri May 15 15:16:17 2015 +0800
----------------------------------------------------------------------
.../kylin/storage/StorageEngineFactory.java | 3 +--
.../kylin/storage/cube/CubeStorageEngine.java | 23 +++++++++++++++--
.../org/apache/kylin/storage/tuple/Tuple.java | 27 +++++++++++++++++---
3 files changed, 45 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/5b507dd8/storage/src/main/java/org/apache/kylin/storage/StorageEngineFactory.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/StorageEngineFactory.java b/storage/src/main/java/org/apache/kylin/storage/StorageEngineFactory.java
index 0d720ab..f880b73 100644
--- a/storage/src/main/java/org/apache/kylin/storage/StorageEngineFactory.java
+++ b/storage/src/main/java/org/apache/kylin/storage/StorageEngineFactory.java
@@ -29,7 +29,6 @@ import org.apache.kylin.metadata.realization.IRealization;
import org.apache.kylin.metadata.realization.RealizationType;
import org.apache.kylin.storage.cache.CacheFledgedDynamicStorageEngine;
import org.apache.kylin.storage.cache.CacheFledgedStaticStorageEngine;
-import org.apache.kylin.storage.hbase.CubeStorageEngine;
import org.apache.kylin.storage.hbase.InvertedIndexStorageEngine;
import org.apache.kylin.storage.hybrid.HybridInstance;
import org.apache.kylin.storage.hybrid.HybridStorageEngine;
@@ -52,7 +51,7 @@ public class StorageEngineFactory {
return ret;
}
} else if (realization.getType() == RealizationType.CUBE) {
- ICachableStorageEngine ret = new CubeStorageEngine((CubeInstance) realization);
+ ICachableStorageEngine ret = new org.apache.kylin.storage.cube.CubeStorageEngine((CubeInstance) realization);
if (allowStorageLayerCache) {
return wrapWithCache(ret, realization);
} else {
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/5b507dd8/storage/src/main/java/org/apache/kylin/storage/cube/CubeStorageEngine.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/cube/CubeStorageEngine.java b/storage/src/main/java/org/apache/kylin/storage/cube/CubeStorageEngine.java
index 5535853..549961f 100644
--- a/storage/src/main/java/org/apache/kylin/storage/cube/CubeStorageEngine.java
+++ b/storage/src/main/java/org/apache/kylin/storage/cube/CubeStorageEngine.java
@@ -25,7 +25,7 @@ import org.apache.kylin.metadata.model.SegmentStatusEnum;
import org.apache.kylin.metadata.model.TblColRef;
import org.apache.kylin.metadata.realization.SQLDigest;
import org.apache.kylin.metadata.tuple.ITupleIterator;
-import org.apache.kylin.storage.IStorageEngine;
+import org.apache.kylin.storage.ICachableStorageEngine;
import org.apache.kylin.storage.StorageContext;
import org.apache.kylin.storage.hbase.DerivedFilterTranslator;
import org.apache.kylin.storage.tuple.TupleInfo;
@@ -33,9 +33,10 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.collect.Lists;
+import com.google.common.collect.Range;
import com.google.common.collect.Sets;
-public class CubeStorageEngine implements IStorageEngine {
+public class CubeStorageEngine implements ICachableStorageEngine {
private static final Logger logger = LoggerFactory.getLogger(CubeStorageEngine.class);
@@ -348,5 +349,23 @@ public class CubeStorageEngine implements IStorageEngine {
context.enableLimit();
}
}
+
+ // ============================================================================
+
+ @Override
+ public Range<Long> getVolatilePeriod() {
+ return null;
+ }
+
+ @Override
+ public String getStorageUUID() {
+ return cubeInstance.getUuid();
+ }
+
+
+ @Override
+ public boolean isDynamic() {
+ return false;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/5b507dd8/storage/src/main/java/org/apache/kylin/storage/tuple/Tuple.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/tuple/Tuple.java b/storage/src/main/java/org/apache/kylin/storage/tuple/Tuple.java
index efa1bc2..78abdce 100644
--- a/storage/src/main/java/org/apache/kylin/storage/tuple/Tuple.java
+++ b/storage/src/main/java/org/apache/kylin/storage/tuple/Tuple.java
@@ -18,15 +18,20 @@
package org.apache.kylin.storage.tuple;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
import net.sf.ehcache.pool.sizeof.annotations.IgnoreSizeOf;
+
+import org.apache.hadoop.hive.serde2.io.DoubleWritable;
+import org.apache.hadoop.io.FloatWritable;
+import org.apache.hadoop.io.IntWritable;
+import org.apache.hadoop.io.LongWritable;
import org.apache.kylin.common.util.DateFormat;
import org.apache.kylin.metadata.model.TblColRef;
import org.apache.kylin.metadata.tuple.ITuple;
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-
/**
* @author xjiang
*/
@@ -102,6 +107,8 @@ public class Tuple implements ITuple {
}
public void setMeasureValue(int idx, Object fieldValue) {
+ fieldValue = convertWritableToJava(fieldValue);
+
String dataType = getDataTypeName(idx);
// special handling for BigDecimal, allow double be aggregated as
// BigDecimal during cube build for best precision
@@ -115,6 +122,18 @@ public class Tuple implements ITuple {
values[idx] = fieldValue;
}
+ private Object convertWritableToJava(Object o) {
+ if (o instanceof LongWritable)
+ o = ((LongWritable) o).get();
+ else if (o instanceof IntWritable)
+ o = ((IntWritable) o).get();
+ else if (o instanceof DoubleWritable)
+ o = ((DoubleWritable) o).get();
+ else if (o instanceof FloatWritable)
+ o = ((FloatWritable) o).get();
+ return o;
+ }
+
public boolean hasColumn(TblColRef column) {
return info.hasColumn(column);
}