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;