kylin-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dayue Gao (JIRA)" <j...@apache.org>
Subject [jira] [Created] (KYLIN-975) change kylin.job.hive.database.for.intermediatetable cause job to fail
Date Fri, 28 Aug 2015 09:42:45 GMT
Dayue Gao created KYLIN-975:
-------------------------------

             Summary: 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


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)

Mime
View raw message