It seems to me that the cardinality of dimension REF will be quite large,
which may exceed the limit of 5 million, and also may not be hold in memory.
You may choose not to use dictionary for this dimension or even exclude
this dimension from your cube (because this will reduce your cube size and
build time obviously).

And would you please create a JIRA for this issue?

杨海乐 <[email protected]>于2015年12月2日周三 下午4:16写道:

> I get the error in the third step(Build Dimension Dictionary).
> The dimension called REF may be too long.So I want to know the range of
> length. My kylin version is 1.0
>
> [pool-5-thread-3]:[2015-12-02_15:27:09,726][ERROR][org.apache.kylin.job.common.HadoopShellExecutable.doWork(HadoopShellExecutable.java:64)]error_execute
> HadoopShellExecutable{id=59e81348-ba14-4610-8461-72b91257e394-02,
> name=Build Dimension Dictionary, state=RUNNING}
>
> java.lang.IllegalArgumentException:Not_a_valid_value:'
> http://www.baidu.com/link?url=ea-fwb14wpouqace1v0glqezcxpco43hdj4g8ms1q2hmrmqysk0ry3npmzubxd59m8mziai1f2ldlobwfpxo4a&wd=&eqid=b2d84a760003b4440000000256264354
> '
>         at
> org.apache.kylin.dict.TrieDictionary.getIdFromValueBytesImpl(TrieDictionary.java:172)
>         at
> org.apache.kylin.dict.Dictionary.getIdFromValueBytes(Dictionary.java:136)
>         at
> org.apache.kylin.dict.TrieDictionary.getIdFromValueImpl(TrieDictionary.java:157)
>         at
> org.apache.kylin.dict.Dictionary.getIdFromValue(Dictionary.java:89)
>         at
> org.apache.kylin.dict.Dictionary.getIdFromValue(Dictionary.java:69)
>         at
> org.apache.kylin.dict.DictionaryGenerator.buildDictionaryFromValueList(DictionaryGenerator.java:83)
>         at
> org.apache.kylin.dict.DictionaryGenerator.buildDictionary(DictionaryGenerator.java:124)
>         at
> org.apache.kylin.dict.DictionaryManager.buildDictionary(DictionaryManager.java:210)
>         at
> org.apache.kylin.cube.CubeManager.buildDictionary(CubeManager.java:166)
>         at
> org.apache.kylin.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:52)
>         at
> org.apache.kylin.cube.cli.DictionaryGeneratorCLI.processSegment(DictionaryGeneratorCLI.java:41)
>         at
> org.apache.kylin.job.hadoop.dict.CreateDictionaryJob.run(CreateDictionaryJob.java:52)
>         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.HadoopShellExecutable.doWork(HadoopShellExecutable.java:62)
>         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)
>

Reply via email to