zoukankan      html  css  js  c++  java
  • 解决kylin报错:java.lang.ArrayIndexOutOfBoundsException: -1

    报错信息:

    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)
    解决:
    meta中/table/下存在同名但大小写不同的两个table的meta, 这个meta文件里column的id起始为0,正常情况应该为1. kylin内部把表的meta存到一个hashmap里,key为大写的表名,不论原来是否为大写。在这个情况中小写的meta的内容把大写的meta内容覆盖了,查ID的时候有一个操作是把id值 - 1。如果原始的ID为0,-1之后就变成-1,然后就抛出上面的异常。
     

    org.apache.kylin.dict.lookup.SnapshotTable:

    org.apache.kylin.metadata.model.ColumnDesc:

    问题meta:

    ps: 类org.apache.kylin.metadata.model.ColumnDesc对应table中的一个column:

    v.s.
  • 相关阅读:
    hdu 4946 Area of Mushroom(凸包)
    uva 10065 (凸包+求面积)
    hdu 3934&&poj 2079 (凸包+旋转卡壳+求最大三角形面积)
    Codeforces Round #237 (Div. 2) B题模拟题
    Codeforces Round #237 (Div. 2) A
    zoj 1377 || poj 1228 Grandpa's Estate (看了题解,待解决)
    poj 1584 看懂题意----待解决
    Codeforces Round #249 (Div. 2) C题,模拟画图 ----未解决!
    Codeforces Round #249 (Div. 2)B(贪心法)
    MMORPG大型游戏设计与开发(客户端架构 part3 of vegine)
  • 原文地址:https://www.cnblogs.com/aprilrain/p/7118799.html
Copyright © 2011-2022 走看看