You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "kangkaisen (JIRA)" <ji...@apache.org> on 2017/07/14 03:26:00 UTC
[jira] [Commented] (KYLIN-2575) Experimental feature: Computed
Column
[ https://issues.apache.org/jira/browse/KYLIN-2575?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16086788#comment-16086788 ]
kangkaisen commented on KYLIN-2575:
-----------------------------------
This commit https://github.com/apache/kylin/commit/d61f867ff9fa170e155310edeb03db6059433f2f maybe broken the Spark Cubing. I have registered ComputedColumnDesc to kyro and changed the engine_type of ci_inner_join_cube to 4.
After I annotated this code: CalciteParser.ensureNoTableNameExists(expression), Spark Cubing has run successfully.
{code:java}
17/07/13 21:33:45 INFO CubeManager: Loading Cube from folder kylin_metadata(key='/cube')@kylin_metadata@hbase
17/07/13 21:33:45 INFO CubeDescManager: Initializing CubeDescManager with config kylin_metadata@hbase
17/07/13 21:33:45 INFO CubeDescManager: Reloading Cube Metadata from folder kylin_metadata(key='/cube_desc')@kylin_metadata@hbase
17/07/13 21:33:45 INFO ProjectManager: Initializing ProjectManager with metadata url kylin_metadata@hbase
17/07/13 21:33:45 INFO MeasureTypeFactory: Checking custom measure types from kylin config
17/07/13 21:33:45 INFO MeasureTypeFactory: registering COUNT_DISTINCT(hllc), class org.apache.kylin.measure.hllc.HLLCMeasureType$Factory
17/07/13 21:33:45 INFO MeasureTypeFactory: registering COUNT_DISTINCT(bitmap), class org.apache.kylin.measure.bitmap.BitmapMeasureType$Factory
17/07/13 21:33:45 INFO MeasureTypeFactory: registering TOP_N(topn), class org.apache.kylin.measure.topn.TopNMeasureType$Factory
17/07/13 21:33:45 INFO MeasureTypeFactory: registering RAW(raw), class org.apache.kylin.measure.raw.RawMeasureType$Factory
17/07/13 21:33:45 INFO MeasureTypeFactory: registering EXTENDED_COLUMN(extendedcolumn), class org.apache.kylin.measure.extendedcolumn.ExtendedC
olumnMeasureType$Factory
17/07/13 21:33:45 INFO MeasureTypeFactory: registering PERCENTILE(percentile), class org.apache.kylin.measure.percentile.PercentileMeasureType$
Factory
17/07/13 21:33:46 INFO MetadataManager: Reloading data model at /model_desc/ci_inner_join_model.json
Exception in thread "main" java.lang.NoSuchFieldError: names
at org.apache.kylin.metadata.model.tool.CalciteParser$1.visit(CalciteParser.java:140)
at org.apache.calcite.sql.SqlIdentifier.accept(SqlIdentifier.java:271)
at org.apache.calcite.sql.SqlOperator.acceptCall(SqlOperator.java:670)
at org.apache.calcite.sql.util.SqlBasicVisitor.visit(SqlBasicVisitor.java:45)
at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:130)
at org.apache.kylin.metadata.model.tool.CalciteParser.ensureNoTableNameExists(CalciteParser.java:147)
at org.apache.kylin.metadata.model.ComputedColumnDesc.init(ComputedColumnDesc.java:49)
at org.apache.kylin.metadata.model.DataModelDesc.initComputedColumns(DataModelDesc.java:490)
at org.apache.kylin.metadata.model.DataModelDesc.init(DataModelDesc.java:355)
at org.apache.kylin.metadata.MetadataManager.reloadDataModelDescAt(MetadataManager.java:595)
at org.apache.kylin.metadata.MetadataManager.reloadAllDataModel(MetadataManager.java:579)
at org.apache.kylin.metadata.MetadataManager.init(MetadataManager.java:295)
at org.apache.kylin.metadata.MetadataManager.<init>(MetadataManager.java:122)
at org.apache.kylin.metadata.MetadataManager.getInstance(MetadataManager.java:87)
at org.apache.kylin.cube.model.CubeDesc.init(CubeDesc.java:589)
at org.apache.kylin.cube.CubeDescManager.loadCubeDesc(CubeDescManager.java:196)
at org.apache.kylin.cube.CubeDescManager.reloadAllCubeDesc(CubeDescManager.java:319)
at org.apache.kylin.cube.CubeDescManager.<init>(CubeDescManager.java:114)
at org.apache.kylin.cube.CubeDescManager.getInstance(CubeDescManager.java:81)
at org.apache.kylin.cube.CubeManager.reloadCubeLocalAt(CubeManager.java:809)
at org.apache.kylin.cube.CubeManager.loadAllCubeInstance(CubeManager.java:787)
at org.apache.kylin.cube.CubeManager.<init>(CubeManager.java:147)
at org.apache.kylin.cube.CubeManager.getInstance(CubeManager.java:105)
at org.apache.kylin.engine.spark.SparkCubingByLayer.execute(SparkCubingByLayer.java:160)
at org.apache.kylin.common.util.AbstractApplication.execute(AbstractApplication.java:37)
at org.apache.kylin.common.util.SparkEntry.main(SparkEntry.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
{code}
> Experimental feature: Computed Column
> -------------------------------------
>
> Key: KYLIN-2575
> URL: https://issues.apache.org/jira/browse/KYLIN-2575
> Project: Kylin
> Issue Type: New Feature
> Reporter: hongbin ma
> Assignee: hongbin ma
> Fix For: v2.1.0
>
>
> Computed column is a virtual column that is calculated from an expression of existing columns. For example, TAX is computed from PRICE * TAX_RATE; TX_YEAR is from EXTRACT(year from TX_DATE).
> Currently user have to create a view to enrich these computed columns, then feed the view to cube. This has two inconvenience:
> Create a view is not easy.
> The query has to be rewritten to use view instead of the original table.
> Let Kylin/KAP directly support computed column will be a big step forward.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)