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 2016/07/24 09:09:45 UTC

[1/2] kylin git commit: KYLIN-1855: Exclude those joins in whose related lookup tables no dimensions are used in cube

Repository: kylin
Updated Branches:
  refs/heads/master 110968d3d -> 0f81ed283


KYLIN-1855: Exclude those joins in whose related lookup tables no dimensions are used in cube

Signed-off-by: Yang Li <li...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/09323355
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/09323355
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/09323355

Branch: refs/heads/master
Commit: 09323355021d4d887ba755ce236850dd87295b47
Parents: 110968d
Author: Zhong <ya...@lm-shc-16501214.corp.ebay.com>
Authored: Thu Jul 14 16:27:01 2016 +0800
Committer: Yang Li <li...@apache.org>
Committed: Sun Jul 24 16:58:44 2016 +0800

----------------------------------------------------------------------
 .../cube/model/CubeJoinedFlatTableDesc.java     | 24 +++++++++++++-------
 .../org/apache/kylin/job/JoinedFlatTable.java   | 10 ++++----
 .../metadata/model/IJoinedFlatTableDesc.java    |  1 +
 3 files changed, 23 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/09323355/core-cube/src/main/java/org/apache/kylin/cube/model/CubeJoinedFlatTableDesc.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeJoinedFlatTableDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeJoinedFlatTableDesc.java
index a1d468a..2aaa380 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeJoinedFlatTableDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeJoinedFlatTableDesc.java
@@ -18,18 +18,12 @@
 
 package org.apache.kylin.cube.model;
 
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import org.apache.kylin.common.util.BytesSplitter;
 import org.apache.kylin.cube.CubeSegment;
 import org.apache.kylin.cube.cuboid.Cuboid;
-import org.apache.kylin.metadata.model.DataModelDesc;
-import org.apache.kylin.metadata.model.FunctionDesc;
-import org.apache.kylin.metadata.model.IJoinedFlatTableDesc;
-import org.apache.kylin.metadata.model.IntermediateColumnDesc;
-import org.apache.kylin.metadata.model.MeasureDesc;
-import org.apache.kylin.metadata.model.TblColRef;
+import org.apache.kylin.metadata.model.*;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
@@ -50,10 +44,13 @@ public class CubeJoinedFlatTableDesc implements IJoinedFlatTableDesc {
 
     private Map<String, Integer> columnIndexMap;
 
+    private List<JoinDesc> cubeJoins;
+
     public CubeJoinedFlatTableDesc(CubeDesc cubeDesc, CubeSegment cubeSegment) {
         this.cubeDesc = cubeDesc;
         this.cubeSegment = cubeSegment;
         this.columnIndexMap = Maps.newHashMap();
+        this.cubeJoins = new ArrayList<JoinDesc>(cubeDesc.getDimensions().size());
         parseCubeDesc();
     }
 
@@ -138,6 +135,12 @@ public class CubeJoinedFlatTableDesc implements IJoinedFlatTableDesc {
         }
 
         columnCount = columnIndex;
+
+        for (DimensionDesc d : cubeDesc.getDimensions()) {
+            if (d.getJoin() != null) {
+                cubeJoins.add(d.getJoin());
+            }
+        }
     }
 
     private int contains(List<IntermediateColumnDesc> columnList, TblColRef c) {
@@ -186,6 +189,11 @@ public class CubeJoinedFlatTableDesc implements IJoinedFlatTableDesc {
         return cubeDesc.getModel();
     }
 
+    @Override
+    public List<JoinDesc> getUsedJoinsSet() {
+        return cubeJoins;
+    }
+
     private static String colName(String canonicalColName) {
         return canonicalColName.replace(".", "_");
     }

http://git-wip-us.apache.org/repos/asf/kylin/blob/09323355/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
----------------------------------------------------------------------
diff --git a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
index 1b8df14..3ea4098 100644
--- a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
+++ b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
@@ -19,10 +19,7 @@
 package org.apache.kylin.job;
 
 import java.io.File;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
@@ -172,6 +169,8 @@ public class JoinedFlatTable {
     }
 
     private static void appendJoinStatement(IJoinedFlatTableDesc intermediateTableDesc, StringBuilder sql, Map<String, String> tableAliasMap) {
+        List<JoinDesc> cubeJoins = intermediateTableDesc.getUsedJoinsSet();
+
         Set<String> dimTableCache = new HashSet<String>();
 
         DataModelDesc dataModelDesc = intermediateTableDesc.getDataModel();
@@ -181,6 +180,9 @@ public class JoinedFlatTable {
 
         for (LookupDesc lookupDesc : dataModelDesc.getLookups()) {
             JoinDesc join = lookupDesc.getJoin();
+            if (!cubeJoins.contains(join)) {
+                continue;
+            }
             if (join != null && join.getType().equals("") == false) {
                 String joinType = join.getType().toUpperCase();
                 String dimTableName = lookupDesc.getTable();

http://git-wip-us.apache.org/repos/asf/kylin/blob/09323355/core-metadata/src/main/java/org/apache/kylin/metadata/model/IJoinedFlatTableDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/IJoinedFlatTableDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/IJoinedFlatTableDesc.java
index a9a687f..5088c9c 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/IJoinedFlatTableDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/IJoinedFlatTableDesc.java
@@ -30,4 +30,5 @@ public interface IJoinedFlatTableDesc {
 
     DataModelDesc getDataModel();
 
+    List<JoinDesc> getUsedJoinsSet();
 }


[2/2] kylin git commit: KYLIN-1855 code style, reorg imports

Posted by li...@apache.org.
KYLIN-1855 code style, reorg imports


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/0f81ed28
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/0f81ed28
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/0f81ed28

Branch: refs/heads/master
Commit: 0f81ed28368413216629195c5ec788d58c36b1aa
Parents: 0932335
Author: Yang Li <li...@apache.org>
Authored: Sun Jul 24 17:09:35 2016 +0800
Committer: Yang Li <li...@apache.org>
Committed: Sun Jul 24 17:09:35 2016 +0800

----------------------------------------------------------------------
 .../kylin/cube/model/CubeJoinedFlatTableDesc.java       | 12 ++++++++++--
 .../main/java/org/apache/kylin/job/JoinedFlatTable.java |  6 +++++-
 2 files changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/0f81ed28/core-cube/src/main/java/org/apache/kylin/cube/model/CubeJoinedFlatTableDesc.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeJoinedFlatTableDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeJoinedFlatTableDesc.java
index 2aaa380..b24ef4d 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeJoinedFlatTableDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeJoinedFlatTableDesc.java
@@ -18,12 +18,20 @@
 
 package org.apache.kylin.cube.model;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 import org.apache.kylin.common.util.BytesSplitter;
 import org.apache.kylin.cube.CubeSegment;
 import org.apache.kylin.cube.cuboid.Cuboid;
-import org.apache.kylin.metadata.model.*;
+import org.apache.kylin.metadata.model.DataModelDesc;
+import org.apache.kylin.metadata.model.FunctionDesc;
+import org.apache.kylin.metadata.model.IJoinedFlatTableDesc;
+import org.apache.kylin.metadata.model.IntermediateColumnDesc;
+import org.apache.kylin.metadata.model.JoinDesc;
+import org.apache.kylin.metadata.model.MeasureDesc;
+import org.apache.kylin.metadata.model.TblColRef;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;

http://git-wip-us.apache.org/repos/asf/kylin/blob/0f81ed28/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
----------------------------------------------------------------------
diff --git a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
index 3ea4098..cb3735a 100644
--- a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
+++ b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
@@ -19,7 +19,11 @@
 package org.apache.kylin.job;
 
 import java.io.File;
-import java.util.*;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;