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);
     }