Hi,
        When i build kylin cube , it failed at step 3 with error logs on webui 
as follows:
        Start to execute command: 
        com.kylinolap.job.hadoop.dict.CreateDictionaryJob  -cubename 
kylin_test11 -segmentname FULL_BUILD -input 
/home/kylin/kylin-0175616e-50c9-44de-834d-404b1bca113a/kylin_test11/fact_distinct_columns
        Command execute return code 2

        And, logs from tomcat are as follows:
        [QuartzScheduler_Worker-9]:[2015-07-03 
15:49:18,378][INFO][com.kylinolap.common.persistence.HBaseResourceStore.getTableName(HBaseResourceStore.java:108)]
 - /job/7cd45ce1-b7cf-4c9d-a2fd-f8eecbbf900d getTableName Get Table name 
project_metadata_job
java.io.IOException: Before,get putResource trace.
        at 
com.kylinolap.common.persistence.ResourceStore.putResource(ResourceStore.java:171)
        at com.kylinolap.job.JobDAO.writeJobResource(JobDAO.java:240)
        at com.kylinolap.job.JobDAO.saveJob(JobDAO.java:161)
        at com.kylinolap.job.JobDAO.updateJobInstance(JobDAO.java:199)
        at 
com.kylinolap.job.flow.JobFlowNode.updateJobStep(JobFlowNode.java:134)
        at com.kylinolap.job.flow.JobFlowNode.execute(JobFlowNode.java:71)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at 
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
[QuartzScheduler_Worker-9]:[2015-07-03 
15:49:18,382][DEBUG][com.kylinolap.common.persistence.ResourceStore.putResource(ResourceStore.java:176)]
 - Saving resource /job/7cd45ce1-b7cf-4c9d-a2fd-f8eecbbf900d (Store 
project_metadata@hbase:182.118.45.55#182.118.45.56#182.118.45.57:2181:/hbase).oldTS:1435909715144,newTS:1435909758382
[QuartzScheduler_Worker-9]:[2015-07-03 
15:49:18,382][INFO][com.kylinolap.common.persistence.HBaseResourceStore.getTableName(HBaseResourceStore.java:108)]
 - /job/7cd45ce1-b7cf-4c9d-a2fd-f8eecbbf900d getTableName Get Table name 
project_metadata_job
java.io.IOException: After,get putResource trace.
        at 
com.kylinolap.common.persistence.ResourceStore.putResource(ResourceStore.java:190)
        at com.kylinolap.job.JobDAO.writeJobResource(JobDAO.java:240)
        at com.kylinolap.job.JobDAO.saveJob(JobDAO.java:161)
        at com.kylinolap.job.JobDAO.updateJobInstance(JobDAO.java:199)
        at 
com.kylinolap.job.flow.JobFlowNode.updateJobStep(JobFlowNode.java:134)
        at com.kylinolap.job.flow.JobFlowNode.execute(JobFlowNode.java:71)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at 
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
[QuartzScheduler_Worker-9]:[2015-07-03 
15:49:18,390][DEBUG][com.kylinolap.job.cmd.JavaHadoopCmdOutput.appendOutput(JavaHadoopCmdOutput.java:96)]
 - Start to execute command: 
com.kylinolap.job.hadoop.dict.CreateDictionaryJob  -cubename kylin_test9 
-segmentname FULL_BUILD -input 
/home/kylin/kylin-7cd45ce1-b7cf-4c9d-a2fd-f8eecbbf900d/kylin_test9/fact_distinct_columns
[QuartzScheduler_Worker-9]:[2015-07-03 
15:49:18,398][INFO][com.kylinolap.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:57)]
 - Building snapshot of KYLIN_DIMENSION_RECHARGE_CHANNEL
usage: CreateDictionaryJob
 -cubename <name>      Cube name. For exmaple, flat_item_cube
 -input <path>         Input path
 -segmentname <name>   Cube segment name)
java.lang.IllegalStateException: Expect 1 and only 1 non-zero file under 
hdfs://namenode:9000/home/xitong/test-logsget-cube/KYLIN_DIMENSION_RECHARGE_CHANNEL,
 but find 19
        at com.kylinolap.dict.lookup.HiveTable.findOnlyFile(HiveTable.java:119)
        at 
com.kylinolap.dict.lookup.HiveTable.computeHDFSLocation(HiveTable.java:104)
        at 
com.kylinolap.dict.lookup.HiveTable.getHDFSLocation(HiveTable.java:79)
        at com.kylinolap.dict.lookup.HiveTable.getFileTable(HiveTable.java:72)
        at com.kylinolap.dict.lookup.HiveTable.getSignature(HiveTable.java:67)
        at com.kylinolap.dict.lookup.SnapshotTable.<init>(SnapshotTable.java:53)
        at 
com.kylinolap.dict.lookup.SnapshotManager.buildSnapshot(SnapshotManager.java:85)
        at 
com.kylinolap.cube.CubeManager.buildSnapshotTable(CubeManager.java:210)
        at 
com.kylinolap.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:58)
        at 
com.kylinolap.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:39)
        at 
com.kylinolap.job.hadoop.dict.CreateDictionaryJob.run(CreateDictionaryJob.java:51)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
        at com.kylinolap.job.cmd.JavaHadoopCmd.execute(JavaHadoopCmd.java:53)
        at com.kylinolap.job.flow.JobFlowNode.execute(JobFlowNode.java:77)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at 
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
[QuartzScheduler_Worker-9]:[2015-07-03 
15:49:25,927][ERROR][com.kylinolap.job.hadoop.dict.CreateDictionaryJob.run(CreateDictionaryJob.java:55)]
 - Expect 1 and only 1 non-zero file under 
hdfs://w-namenodefd2v.qss.zzbc2.qihoo.net:9000/home/xitong/dongtingting/test-logsget-cube/KYLIN_DIMENSION_RECHARGE_CHANNEL,
 but find 19
java.lang.IllegalStateException: Expect 1 and only 1 non-zero file under 
hdfs://namenode:9000/home/xitong/test-logsget-cube/KYLIN_DIMENSION_RECHARGE_CHANNEL,
 but find 19
        at com.kylinolap.dict.lookup.HiveTable.findOnlyFile(HiveTable.java:119)
        at 
com.kylinolap.dict.lookup.HiveTable.computeHDFSLocation(HiveTable.java:104)
        at 
com.kylinolap.dict.lookup.HiveTable.getHDFSLocation(HiveTable.java:79)
        at com.kylinolap.dict.lookup.HiveTable.getFileTable(HiveTable.java:72)
        at com.kylinolap.dict.lookup.HiveTable.getSignature(HiveTable.java:67)
        at com.kylinolap.dict.lookup.SnapshotTable.<init>(SnapshotTable.java:53)
        at 
com.kylinolap.dict.lookup.SnapshotManager.buildSnapshot(SnapshotManager.java:85)
        at 
com.kylinolap.cube.CubeManager.buildSnapshotTable(CubeManager.java:210)
        at 
com.kylinolap.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:58)
        at 
com.kylinolap.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:39)
        at 
com.kylinolap.job.hadoop.dict.CreateDictionaryJob.run(CreateDictionaryJob.java:51)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
        at com.kylinolap.job.cmd.JavaHadoopCmd.execute(JavaHadoopCmd.java:53)
        at com.kylinolap.job.flow.JobFlowNode.execute(JobFlowNode.java:77)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at 
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
[QuartzScheduler_Worker-9]:[2015-07-03 
15:49:25,928][DEBUG][com.kylinolap.job.cmd.JavaHadoopCmdOutput.appendOutput(JavaHadoopCmdOutput.java:96)]
 - Command execute return code 2
[QuartzScheduler_Worker-9]:[2015-07-03 
15:49:25,928][INFO][com.kylinolap.common.persistence.HBaseResourceStore.getTableName(HBaseResourceStore.java:108)]
 - /job/7cd45ce1-b7cf-4c9d-a2fd-f8eecbbf900d getTableName Get Table name 
project_metadata_job

        It seems like i got too many file in that hive table, cause my 
dimension tables were generated from another full_source_table by create 
external table xxx location xxx and then insert overwrite table xxx select from 
full_table. Thus it has generated many files out of my control.
        Can you help me with this problem?
        Thank you very much.



[email protected]

Reply via email to