minor, add switch table-dir-create-first for build cube with hive step.
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/4ad6acbe Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/4ad6acbe Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/4ad6acbe Branch: refs/heads/sync Commit: 4ad6acbe85d33159cc85bf23739c3c9e8f22fb33 Parents: 4559101 Author: yiming.xu <100650...@qq.com> Authored: Wed Jan 24 17:33:18 2018 +0800 Committer: Li Yang <liy...@apache.org> Committed: Fri Jan 26 19:15:49 2018 +0800 ---------------------------------------------------------------------- .../main/java/org/apache/kylin/common/KylinConfigBase.java | 4 ++++ .../main/java/org/apache/kylin/source/hive/HiveMRInput.java | 8 +++++--- .../java/org/apache/kylin/source/hive/HiveMRInputTest.java | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/4ad6acbe/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java ---------------------------------------------------------------------- diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java index edb5b29..b6d8c02 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java @@ -755,6 +755,10 @@ abstract public class KylinConfigBase implements Serializable { return getOptional("kylin.source.hive.sparksql-beeline-params", ""); } + public boolean getHiveTableDirCreateFirst() { + return Boolean.parseBoolean(getOptional("kylin.source.hive.table-dir-create-first", "false")); + } + public String getFlatHiveTableClusterByDictColumn() { return getOptional("kylin.source.hive.flat-table-cluster-by-dict-column"); } http://git-wip-us.apache.org/repos/asf/kylin/blob/4ad6acbe/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java ---------------------------------------------------------------------- diff --git a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java index 31a99cd..f02d2ea 100644 --- a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java +++ b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java @@ -179,9 +179,11 @@ public class HiveMRInput implements IMRInput { protected String getJobWorkingDir(DefaultChainedExecutable jobFlow) { String jobWorkingDir = JobBuilderSupport.getJobWorkingDir(hdfsWorkingDir, jobFlow.getId()); - // Create work dir to avoid hive create it, - // the difference is that the owners are different. - checkAndCreateWorkDir(jobWorkingDir); + if (KylinConfig.getInstanceFromEnv().getHiveTableDirCreateFirst()) { + // Create work dir to avoid hive create it, + // the difference is that the owners are different. + checkAndCreateWorkDir(jobWorkingDir); + } return jobWorkingDir; } http://git-wip-us.apache.org/repos/asf/kylin/blob/4ad6acbe/source-hive/src/test/java/org/apache/kylin/source/hive/HiveMRInputTest.java ---------------------------------------------------------------------- diff --git a/source-hive/src/test/java/org/apache/kylin/source/hive/HiveMRInputTest.java b/source-hive/src/test/java/org/apache/kylin/source/hive/HiveMRInputTest.java index 6d0737d..f33ee74 100644 --- a/source-hive/src/test/java/org/apache/kylin/source/hive/HiveMRInputTest.java +++ b/source-hive/src/test/java/org/apache/kylin/source/hive/HiveMRInputTest.java @@ -41,8 +41,8 @@ public class HiveMRInputTest { try { KylinConfig kylinConfig = mock(KylinConfig.class); KylinConfig.setKylinConfigThreadLocal(kylinConfig); + when(kylinConfig.getHiveTableDirCreateFirst()).thenReturn(true); when(kylinConfig.getHdfsWorkingDirectory()).thenReturn("/tmp/kylin/"); - DefaultChainedExecutable defaultChainedExecutable = mock(DefaultChainedExecutable.class); defaultChainedExecutable.setId(UUID.randomUUID().toString());