You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Luke Han (JIRA)" <ji...@apache.org> on 2015/09/01 04:13:45 UTC

[jira] [Commented] (KYLIN-975) change kylin.job.hive.database.for.intermediatetable cause job to fail

    [ https://issues.apache.org/jira/browse/KYLIN-975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14724599#comment-14724599 ] 

Luke Han commented on KYLIN-975:
--------------------------------

Hi Dayue, could you also please set right fix version for this patch?
It's better to have right setting for further release process
Thanks.

> change kylin.job.hive.database.for.intermediatetable cause job to fail
> ----------------------------------------------------------------------
>
>                 Key: KYLIN-975
>                 URL: https://issues.apache.org/jira/browse/KYLIN-975
>             Project: Kylin
>          Issue Type: Bug
>          Components: Job Engine
>    Affects Versions: v0.7.2
>            Reporter: Dayue Gao
>            Assignee: ZhouQianhao
>         Attachments: KYLIN-975.0.7-staging.patch, KYLIN-975.0.8.patch, KYLIN-975.patch
>
>
> KYLIN-883 introduces "kylin.job.hive.database.for.intermediatetable" so that user can specify a database where kylin's intermediate tables are stored. However the feature is broken and cause cube creation to fail at "Extract Fact Table Distinct Columns" step.
> {noformat}
> [pool-7-thread-2]:[2015-08-28 16:16:27,740][ERROR][org.apache.kylin.job.common.MapReduceExecutable.doWork(MapReduceExecutable.java:116)] - error execute MapReduceExecutable{id=6c0bc4ac-5a94-448a-ae5d-3dd523954a57-01, name=Extract Fact Table Distinct Columns, state=RUNNING}
> java.io.IOException: NoSuchObjectException(message:DEFAULT.kylin_intermediate_kylin_sales_cube_desc_19700101000000_20150822000000_6c0bc4ac_5a94_448a_ae5d_3dd523954a57 table not found)
>         at org.apache.hive.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:97)
>         at org.apache.hive.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:51)
>         at org.apache.kylin.job.hadoop.cube.FactDistinctColumnsJob.setupMapper(FactDistinctColumnsJob.java:101)
>         at org.apache.kylin.job.hadoop.cube.FactDistinctColumnsJob.run(FactDistinctColumnsJob.java:77)
>         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
>         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
>         at org.apache.kylin.job.common.MapReduceExecutable.doWork(MapReduceExecutable.java:113)
>         at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
>         at org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:51)
>         at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
>         at org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:130)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: NoSuchObjectException(message:DEFAULT.kylin_intermediate_kylin_sales_cube_desc_19700101000000_20150822000000_6c0bc4ac_5a94_448a_ae5d_3dd523954a57 table not found)
>         at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table(HiveMetaStore.java:1605)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:105)
>         at com.sun.proxy.$Proxy50.get_table(Unknown Source)
>         at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:997)
>         at org.apache.hive.hcatalog.common.HCatUtil.getTable(HCatUtil.java:191)
>         at org.apache.hive.hcatalog.mapreduce.InitializeInput.getInputJobInfo(InitializeInput.java:117)
>         at org.apache.hive.hcatalog.mapreduce.InitializeInput.setInput(InitializeInput.java:86)
>         at org.apache.hive.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:95)
>         ... 13 more
> {noformat}
> The reason is in CubingJobBuilder.java, we didn't pass the configured database name into createFactDistinctColumnsStep.
> {code:java}
> addCubingSteps(CubeSegment seg, String cuboidRootPath, CubingJob result) {
>         // ...code ommitted...
>         final CubeJoinedFlatTableDesc intermediateTableDesc = new CubeJoinedFlatTableDesc(seg.getCubeDesc(), seg);
>         
>         // SHOULE BE dbname.tblname, BUT WAS tblname
>         final String intermediateHiveTableName = getIntermediateHiveTableName(intermediateTableDesc, jobId);
>         
>         // ...code ommitted...
>         result.addTask(createFactDistinctColumnsStep(seg, intermediateHiveTableName, jobId));
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)