Repository: kylin Updated Branches: refs/heads/2.x-staging 6d496d337 -> cd5b0248a
KYLIN-1426: fix the bug: fail to locate kylin.propertiesi during cardinality calculation Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/cd5b0248 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/cd5b0248 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/cd5b0248 Branch: refs/heads/2.x-staging Commit: cd5b0248a5fbf5ffcd359f7ce1b9b02cb273328a Parents: 6d496d3 Author: yangzhong <[email protected]> Authored: Thu Feb 18 10:21:38 2016 +0800 Committer: shaofengshi <[email protected]> Committed: Fri Feb 19 16:24:42 2016 +0800 ---------------------------------------------------------------------- .../main/java/org/apache/kylin/rest/service/CubeService.java | 7 ++++--- .../source/hive/cardinality/HiveColumnCardinalityJob.java | 5 +++++ 2 files changed, 9 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/cd5b0248/server/src/main/java/org/apache/kylin/rest/service/CubeService.java ---------------------------------------------------------------------- diff --git a/server/src/main/java/org/apache/kylin/rest/service/CubeService.java b/server/src/main/java/org/apache/kylin/rest/service/CubeService.java index c3a19f6..5d2776f 100644 --- a/server/src/main/java/org/apache/kylin/rest/service/CubeService.java +++ b/server/src/main/java/org/apache/kylin/rest/service/CubeService.java @@ -41,6 +41,7 @@ import org.apache.kylin.engine.EngineFactory; import org.apache.kylin.engine.mr.CubingJob; import org.apache.kylin.engine.mr.HadoopUtil; import org.apache.kylin.engine.mr.common.HadoopShellExecutable; +import org.apache.kylin.engine.mr.common.MapReduceExecutable; import org.apache.kylin.job.exception.JobException; import org.apache.kylin.job.execution.DefaultChainedExecutable; import org.apache.kylin.job.execution.ExecutableState; @@ -498,10 +499,10 @@ public class CubeService extends BasicService { String outPath = HiveColumnCardinalityJob.OUTPUT_PATH + "/" + tableName; String param = "-table " + tableName + " -output " + outPath; - HadoopShellExecutable step1 = new HadoopShellExecutable(); + MapReduceExecutable step1 = new MapReduceExecutable(); - step1.setJobClass(HiveColumnCardinalityJob.class); - step1.setJobParams(param); + step1.setMapReduceJobClass(HiveColumnCardinalityJob.class); + step1.setMapReduceParams(param); job.addTask(step1); http://git-wip-us.apache.org/repos/asf/kylin/blob/cd5b0248/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/HiveColumnCardinalityJob.java ---------------------------------------------------------------------- diff --git a/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/HiveColumnCardinalityJob.java b/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/HiveColumnCardinalityJob.java index 51eb0ef..70286ab 100644 --- a/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/HiveColumnCardinalityJob.java +++ b/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/HiveColumnCardinalityJob.java @@ -35,7 +35,9 @@ import org.apache.kylin.engine.mr.MRUtil; import org.apache.kylin.engine.mr.common.AbstractHadoopJob; import org.apache.kylin.engine.mr.common.BatchConstants; import org.apache.kylin.job.engine.JobEngineConfig; +import org.apache.kylin.metadata.MetadataManager; import org.apache.kylin.metadata.model.DataModelDesc; +import org.apache.kylin.metadata.model.TableDesc; /** * This hadoop job will scan all rows of the hive table and then calculate the cardinality on each column. @@ -101,6 +103,9 @@ public class HiveColumnCardinalityJob extends AbstractHadoopJob { this.deletePath(job.getConfiguration(), output); logger.info("Going to submit HiveColumnCardinalityJob for table '" + table + "'"); + + TableDesc tableDesc = MetadataManager.getInstance(KylinConfig.getInstanceFromEnv()).getTableDesc(table); + attachKylinPropsAndMetadata(tableDesc, job.getConfiguration()); int result = waitForCompletion(job); return result;
