From e788abe292ad7fa78a953da656f11e4bc328c893 Mon Sep 17 00:00:00 2001 From: "hzfengyu@corp.netease.com" Date: Tue, 8 Dec 2015 19:49:19 +0800 Subject: [PATCH 4/8] git cube package part patch, KYLIN-1172 Signed-off-by: hzfengyu@corp.netease.com --- cube/src/main/java/org/apache/kylin/cube/CubeInstance.java | 1 + cube/src/main/java/org/apache/kylin/cube/CubeManager.java | 5 ++++- .../main/java/org/apache/kylin/cube/cli/DictionaryGeneratorCLI.java | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/cube/src/main/java/org/apache/kylin/cube/CubeInstance.java b/cube/src/main/java/org/apache/kylin/cube/CubeInstance.java index e1d2c47..cf0e9f0 100644 --- a/cube/src/main/java/org/apache/kylin/cube/CubeInstance.java +++ b/cube/src/main/java/org/apache/kylin/cube/CubeInstance.java @@ -89,6 +89,7 @@ public class CubeInstance extends RootPersistentEntity implements IRealization { @JsonProperty("retention_range") private long retentionRange = 0; + @JsonProperty("project_name") private String projectName; public List getBuildingSegments() { diff --git a/cube/src/main/java/org/apache/kylin/cube/CubeManager.java b/cube/src/main/java/org/apache/kylin/cube/CubeManager.java index f92be9b..76d78bd 100644 --- a/cube/src/main/java/org/apache/kylin/cube/CubeManager.java +++ b/cube/src/main/java/org/apache/kylin/cube/CubeManager.java @@ -36,6 +36,7 @@ import org.apache.kylin.common.persistence.ResourceStore; import org.apache.kylin.common.persistence.Serializer; import org.apache.kylin.common.restclient.Broadcaster; import org.apache.kylin.common.restclient.CaseInsensitiveStringCache; +import org.apache.kylin.common.util.HiveManager; import org.apache.kylin.common.util.Pair; import org.apache.kylin.cube.cuboid.Cuboid; import org.apache.kylin.cube.model.CubeDesc; @@ -199,8 +200,10 @@ public class CubeManager implements IRealizationProvider { public SnapshotTable buildSnapshotTable(CubeSegment cubeSeg, String lookupTable) throws IOException { MetadataManager metaMgr = getMetadataManager(); SnapshotManager snapshotMgr = getSnapshotManager(); + KylinConfig config = KylinConfig.getInstanceFromEnv(); - HiveTable hiveTable = new HiveTable(metaMgr, lookupTable); + String hiveName = ProjectManager.getInstance(config).getProject(HiveManager.getInstance().getCurrentProject()).getHiveName(); + HiveTable hiveTable = new HiveTable(metaMgr, lookupTable, HiveManager.getInstance().createHiveClient(hiveName)); TableDesc tableDesc = metaMgr.getTableDesc(lookupTable); SnapshotTable snapshot = snapshotMgr.buildSnapshot(hiveTable, tableDesc); diff --git a/cube/src/main/java/org/apache/kylin/cube/cli/DictionaryGeneratorCLI.java b/cube/src/main/java/org/apache/kylin/cube/cli/DictionaryGeneratorCLI.java index d5608b0..ead9988 100644 --- a/cube/src/main/java/org/apache/kylin/cube/cli/DictionaryGeneratorCLI.java +++ b/cube/src/main/java/org/apache/kylin/cube/cli/DictionaryGeneratorCLI.java @@ -21,6 +21,7 @@ package org.apache.kylin.cube.cli; import java.io.IOException; import org.apache.kylin.common.KylinConfig; +import org.apache.kylin.common.util.HiveManager; import org.apache.kylin.cube.CubeInstance; import org.apache.kylin.cube.CubeManager; import org.apache.kylin.cube.CubeSegment; @@ -36,8 +37,10 @@ public class DictionaryGeneratorCLI { public static void processSegment(KylinConfig config, String cubeName, String segmentName, String factColumnsPath) throws IOException { CubeInstance cube = CubeManager.getInstance(config).getCube(cubeName); + //set thread local project name before use other hive + HiveManager.getInstance().setCurrentProject(cube.getProjectName()); CubeSegment segment = cube.getSegment(segmentName, SegmentStatusEnum.NEW); - + processSegment(config, segment, factColumnsPath); } -- 1.9.4.msysgit.2