Humm, you can try this:

With Kylin 1705 <https://issues.apache.org/jira/browse/KYLIN-1705> you can
use Global dictionary Builder, which support 2 Billons of values (versus
previous dic 5 Millons)

In Teorical you can migrate from old dics (Kylin 1775
<https://issues.apache.org/jira/browse/KYLIN-1775> )

2016-12-08 7:57 GMT+01:00 wang...@snqu.com <wang...@snqu.com>:

>     I improved the version from 1.5.4.1 to 1.6.0 and modified KYLIN_HOME,
> and modied "kylin.dictionary.max.cardinality=5000000" to
>  "kylin.dictionary.max.cardinality=30000000" in file kylin.properties,
> then start kylin 1.6-->create model-->create cube-->build cube
>    I got the following error message:
>
> java.lang.RuntimeException: Failed to create dictionary on
> DEFAULT.TEST_500W_TBL.ROWKEY
> at org.apache.kylin.dict.DictionaryManager.buildDictionary(
> DictionaryManager.java:325)
> at org.apache.kylin.cube.CubeManager.buildDictionary(CubeManager.java:222)
> at org.apache.kylin.cube.cli.DictionaryGeneratorCLI.processSegment(
> DictionaryGeneratorCLI.java:50)
> 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)
> Caused by: java.lang.IllegalArgumentException: Too high cardinality is
> not suitable for dictionary -- cardinality: 5359970
> at org.apache.kylin.dict.DictionaryGenerator.buildDictionary(
> DictionaryGenerator.java:96)
>
>
>
>

Reply via email to