Error message:
2017-06-26 14:17:30,167 INFO [pool-9-thread-3] cli.DictionaryGeneratorCLI:57 : Building snapshot of ENERGON_DM.DM_DIAGNOSIS_FACT_SGYY_ROOT_SET_FLAG 2017-06-26 14:17:31,484 ERROR [pool-9-thread-3] common.HadoopShellExecutable:65 : error execute HadoopShellExecutable{id=8188ef71-3bc6-4b9a-b87d-5559e3ea6b4a-03, name=Bu ild Dimension Dictionary, state=RUNNING} java.lang.ArrayIndexOutOfBoundsException: -1 at org.apache.kylin.dict.lookup.SnapshotTable.takeSnapshot(SnapshotTable.java:89) at org.apache.kylin.dict.lookup.SnapshotManager.buildSnapshot(SnapshotManager.java:132) at org.apache.kylin.cube.CubeManager.buildSnapshotTable(CubeManager.java:270) at org.apache.kylin.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:58) at org.apache.kylin.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:41) at org.apache.kylin.engine.mr.steps.CreateDictionaryJob.run(CreateDictionaryJob.java:54) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) at org.apache.kylin.engine.mr.common.HadoopShellExecutable.doWork(HadoopShellExecutable.java:63) at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:113) at org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:57) at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:113) at org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:136) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
solve:
There are two tables with the same name but different case under/table/in the meta. The ID of the column in the meta file starts with 0 and should be 1 under normal conditions. Kylin internally saves the table meta into a HashMap, and the key is the upper case table name, whether it is upper case or not. In this case, the content of the small and medium-sized meta overwrites the uppercase meta content. When checking the ID, one operation is to set the ID value to – 1. If the original ID is 0, – 1 becomes – 1, and then the above exception is thrown.
org.apache.kylin.dict.lookup.SnapshotTable:
org.apache.kylin.metadata.model.ColumnDesc:
Question meta:
PS: class org.apache.kylin.metadata.model.columndesc corresponds to a column in the table:
v.s.
Similar Posts:
- Solve kylin error: java.lang.illegalstateexception
- [Solved] Hadoop Error: Input path does not exist: hdfs://Master:9000/user/hadoop/input
- [Solved] Hadoop running jar package error: java.lang.exception: java.lang.arrayindexoutofboundsexception: 1
- Mapreduce:Split metadata size exceeded 10000000
- Hive Error: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
- [Solved] ava.io.IOException: HADOOP_HOME or hadoop.home.dir are not set
- Hadoop command error: permission problem [How to Solve]
- HBase master.HMaster: Failed to become active master
- [Solved] Tez Compression codec com.hadoop.compression.lzo.LzoCodec not found.
- “Execution error, return code 1 from org. Apache. Hadoop. Hive. QL. Exec. Movetask” error occurred when hive imported data locally