ok I see the problem: "INDS" has already been defined as a dimension, then
it should not be used in TopN. Please disable this cube, remove "INDS" from
dimension, save it, and then rebuild.

In v1.5.2 Kylin will check and report error for such case before saving the
cube: https://issues.apache.org/jira/browse/KYLIN-1631

2016-05-13 17:07 GMT+08:00 lancelot chen <[email protected]>:

> Thanks for quick reply. Below is my cube definition json:
>     {
>
>   "uuid": "eab2b606-89aa-44fa-8f40-4bc5a1bca997",
>
>   "version": "1.5.1",
>
>   "name": "lbs_ad_pv_top100_1d_cube",
>
>   "description": "",
>
>   "dimensions": [
>
>     {
>
>       "name": "LBS.LBS_AD_PV_1D.QUERY",
>
>       "table": "LBS.LBS_AD_PV_1D",
>
>       "column": "QUERY",
>
>       "derived": null
>
>     },
>
>     {
>
>       "name": "LBS.LBS_AD_PV_1D.CITY_NAME",
>
>       "table": "LBS.LBS_AD_PV_1D",
>
>       "column": "CITY_NAME",
>
>       "derived": null
>
>     },
>
>     {
>
>       "name": "LBS.LBS_AD_PV_1D.AD_TYPE",
>
>       "table": "LBS.LBS_AD_PV_1D",
>
>       "column": "AD_TYPE",
>
>       "derived": null
>
>     },
>
>     {
>
>       "name": "LBS.LBS_AD_PV_1D.INDS",
>
>       "table": "LBS.LBS_AD_PV_1D",
>
>       "column": "INDS",
>
>       "derived": null
>
>     },
>
>     {
>
>       "name": "LBS.LBS_AD_PV_1D.MAP_NAME",
>
>       "table": "LBS.LBS_AD_PV_1D",
>
>       "column": "MAP_NAME",
>
>       "derived": null
>
>     },
>
>     {
>
>       "name": "LBS.LBS_AD_PV_1D.DS",
>
>       "table": "LBS.LBS_AD_PV_1D",
>
>       "column": "DS",
>
>       "derived": null
>
>     }
>
>   ],
>
>   "measures": [
>
>     {
>
>       "name": "PV_1D_001_TOP100",
>
>       "function": {
>
>         "expression": "TOP_N",
>
>         "parameter": {
>
>           "type": "column",
>
>           "value": "PV_1D_001",
>
>           "next_parameter": {
>
>             "type": "column",
>
>             "value": "INDS",
>
>             "next_parameter": null
>
>           }
>
>         },
>
>         "returntype": "topn(100)"
>
>       },
>
>       "dependent_measure_ref": null
>
>     },
>
>     {
>
>       "name": "CNT",
>
>       "function": {
>
>         "expression": "COUNT",
>
>         "parameter": {
>
>           "type": "constant",
>
>           "value": "1",
>
>           "next_parameter": null
>
>         },
>
>         "returntype": "bigint"
>
>       },
>
>       "dependent_measure_ref": null
>
>     }
>
>   ],
>
>   "rowkey": {
>
>     "rowkey_columns": [
>
>       {
>
>         "column": "INDS",
>
>         "encoding": "dict",
>
>         "isShardBy": false
>
>       },
>
>       {
>
>         "column": "QUERY",
>
>         "encoding": "fixed_length:255",
>
>         "isShardBy": false
>
>       },
>
>       {
>
>         "column": "CITY_NAME",
>
>         "encoding": "dict",
>
>         "isShardBy": false
>
>       },
>
>       {
>
>         "column": "AD_TYPE",
>
>         "encoding": "dict",
>
>         "isShardBy": false
>
>       },
>
>       {
>
>         "column": "MAP_NAME",
>
>         "encoding": "dict",
>
>         "isShardBy": false
>
>       },
>
>       {
>
>         "column": "DS",
>
>         "encoding": "dict",
>
>         "isShardBy": false
>
>       }
>
>     ]
>
>   },
>
>   "signature": "eqmmsW5dmIjABLUOoeDQGg==",
>
>   "last_modified": 1463048780867,
>
>   "model_name": "lbs_ad_pv_1d_model",
>
>   "null_string": null,
>
>   "hbase_mapping": {
>
>     "column_family": [
>
>       {
>
>         "name": "F1",
>
>         "columns": [
>
>           {
>
>             "qualifier": "M",
>
>             "measure_refs": [
>
>               "PV_1D_001_TOP100",
>
>               "CNT"
>
>             ]
>
>           }
>
>         ]
>
>       }
>
>     ]
>
>   },
>
>   "aggregation_groups": [
>
>     {
>
>       "includes": [
>
>         "INDS"
>
>       ],
>
>       "select_rule": {
>
>         "hierarchy_dims": [],
>
>         "mandatory_dims": [],
>
>         "joint_dims": []
>
>       }
>
>     }
>
>   ],
>
>   "notify_list": [],
>
>   "status_need_notify": [],
>
>   "partition_date_start": 1462320000000,
>
>   "partition_date_end": 3153600000000,
>
>   "auto_merge_time_ranges": [],
>
>   "retention_range": 0,
>
>   "engine_type": 2,
>
>   "storage_type": 2,
>
>   "override_kylin_properties": {}
>
> }
>
>
> I restarted server and rerun query using SUM | GROUP BY | ORDER BY , and I
> got the following error message:
>
>
> 2016-05-13 09:04:44,557 INFO  [http-bio-8887-exec-4]
> controller.QueryController:174 : Using project: lbs
>
> 2016-05-13 09:04:44,564 INFO  [http-bio-8887-exec-4]
> controller.QueryController:175 : The original query:  select
>
>     sum(pv_1d_001) pv
>
> from lbs_ad_pv_1d
>
> group by INDS
>
> order by pv desc
>
>
> 2016-05-13 09:04:44,592 INFO  [http-bio-8887-exec-4]
> service.QueryService:264 : The corrected query: select
>
>     sum(pv_1d_001) pv
>
> from lbs_ad_pv_1d
>
> group by INDS
>
> order by pv desc
>
> LIMIT 50000
>
> 2016-05-13 09:04:44,595 DEBUG [http-bio-8887-exec-4]
> service.CacheService:144 : Creating a new data source, OLAP data source
> pointing to kylin_metadata@hbase
>
> 2016-05-13 09:04:44,600 INFO  [http-bio-8887-exec-4]
> project.ProjectL2Cache:172 : Loading L2 project cache for LBS
>
> 2016-05-13 09:04:44,619 INFO  [http-bio-8887-exec-4]
> schema.OLAPSchemaFactory:135 : Schema json:{
>
>     "version": "1.0",
>
>     "defaultSchema": "LBS",
>
>     "schemas": [
>
>         {
>
>             "type": "custom",
>
>             "name": "LBS",
>
>             "factory": "org.apache.kylin.query.schema.OLAPSchemaFactory",
>
>             "operand": {
>
>                 "project": "LBS"
>
>             },
>
>             "functions": [
>
>                {
>
>                    name: 'MASSIN',
>
>                    className: 'org.apache.kylin.query.udf.MassInUDF'
>
>                }
>
>               ]
>
>         }
>
>     ]
>
> }
>
> 2016-05-13 09:04:44,620 DEBUG [http-bio-8887-exec-4]
> service.CacheService:149 : The new temp olap json is :{
>
>     "version": "1.0",
>
>     "defaultSchema": "LBS",
>
>     "schemas": [
>
>         {
>
>             "type": "custom",
>
>             "name": "LBS",
>
>             "factory": "org.apache.kylin.query.schema.OLAPSchemaFactory",
>
>             "operand": {
>
>                 "project": "LBS"
>
>             },
>
>             "functions": [
>
>                {
>
>                    name: 'MASSIN',
>
>                    className: 'org.apache.kylin.query.udf.MassInUDF'
>
>                }
>
>               ]
>
>         }
>
>     ]
>
> }
>
>
> 2016-05-13 09:04:46,129 INFO  [http-bio-8887-exec-4]
> routing.QueryRouter:48 : The project manager's reference is
> org.apache.kylin.metadata.project.ProjectManager@ece372
>
> 2016-05-13 09:04:46,131 INFO  [http-bio-8887-exec-4]
> routing.QueryRouter:60 : Find candidates by table LBS.LBS_AD_PV_1D and
> project=LBS : org.apache.kylin.query.routing.Candidate@1f580d76
>
> 2016-05-13 09:04:46,136 INFO  [http-bio-8887-exec-4]
> cube.CubeCapabilityChecker:85 : Exclude cube lbs_ad_pv_top100_1d_cube
> because unmatched aggregations
>
> 2016-05-13 09:04:46,136 INFO  [http-bio-8887-exec-4]
> routing.QueryRouter:49 : Applying rule: class
> org.apache.kylin.query.routing.rules.RemoveUncapableRealizationsRule,
> realizations before: [lbs_ad_pv_top100_1d_cube(CUBE)], realizations after:
> []
>
> 2016-05-13 09:04:46,137 INFO  [http-bio-8887-exec-4]
> routing.QueryRouter:49 : Applying rule: class
> org.apache.kylin.query.routing.rules.RealizationSortRule, realizations
> before: [], realizations after: []
>
> 2016-05-13 09:04:46,139 ERROR [http-bio-8887-exec-4]
> controller.QueryController:209 : Exception when execute sql
>
> java.sql.SQLException: Error while executing SQL "select
>
>     sum(pv_1d_001) pv
>
> from lbs_ad_pv_1d
>
> group by INDS
>
> order by pv desc
>
> LIMIT 50000": Can't find any realization. Please confirm with providers.
> SQL digest: fact table LBS.LBS_AD_PV_1D,group by
> [LBS.LBS_AD_PV_1D.INDS],filter on [],with aggregates[FunctionDesc
> [expression=SUM, parameter=ParameterDesc [type=column, value=PV_1D_001,
> nextParam=null], returnType=null]].
>
> at org.apache.calcite.avatica.Helper.createException(Helper.java:56)
>
> at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
>
> at
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:143)
>
> at
> org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:186)
>
> at
> org.apache.kylin.rest.service.QueryService.execute(QueryService.java:355)
>
> at
> org.apache.kylin.rest.service.QueryService.queryWithSqlMassage(QueryService.java:271)
>
> at org.apache.kylin.rest.service.QueryService.query(QueryService.java:119)
>
> at
> org.apache.kylin.rest.service.QueryService$$FastClassByCGLIB$$4957273f.invoke(<generated>)
>
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
>
> at
> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:618)
>
> at
> org.apache.kylin.rest.service.QueryService$$EnhancerByCGLIB$$de61e8d6.query(<generated>)
>
> at
> org.apache.kylin.rest.controller.QueryController.doQueryWithCache(QueryController.java:192)
>
> at
> org.apache.kylin.rest.controller.QueryController.query(QueryController.java:94)
>
> 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:601)
>
> at
> org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>
> at
> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>
> at
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>
> at
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>
> at
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>
> at
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>
> at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>
> at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
>
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:201)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:91)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
>
> at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
>
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
>
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>
> at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:195)
>
> at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:266)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
>
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
>
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
>
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
>
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
>
> at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
>
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
>
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>
> at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>
> at java.lang.Thread.run(Thread.java:722)
>
> Caused by: org.apache.kylin.query.routing.NoRealizationFoundException:
> Can't find any realization. Please confirm with providers. SQL digest: fact
> table LBS.LBS_AD_PV_1D,group by [LBS.LBS_AD_PV_1D.INDS],filter on [],with
> aggregates[FunctionDesc [expression=SUM, parameter=ParameterDesc
> [type=column, value=PV_1D_001, nextParam=null], returnType=null]].
>
> at
> org.apache.kylin.query.routing.QueryRouter.selectRealization(QueryRouter.java:66)
>
> at
> org.apache.kylin.query.relnode.OLAPToEnumerableConverter.implement(OLAPToEnumerableConverter.java:80)
>
> at
> org.apache.calcite.adapter.enumerable.EnumerableRelImplementor.implementRoot(EnumerableRelImplementor.java:102)
>
> at
> org.apache.calcite.adapter.enumerable.EnumerableInterpretable.toBindable(EnumerableInterpretable.java:92)
>
> at
> org.apache.calcite.prepare.CalcitePrepareImpl$CalcitePreparingStmt.implement(CalcitePrepareImpl.java:1171)
>
> at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:297)
>
> at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:196)
>
> at
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:721)
>
> at
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:588)
>
> at
> org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:558)
>
> at
> org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
>
> at
> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:573)
>
> at
> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:571)
>
> at
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:135)
>
> ... 80 more
>
> 2016-05-13 09:04:46,148 INFO  [http-bio-8887-exec-4]
> service.QueryService:248 :
>
> ==========================[QUERY]===============================
>
> SQL: select
>
>     sum(pv_1d_001) pv
>
> from lbs_ad_pv_1d
>
> group by INDS
>
> order by pv desc
>
>
> User: ADMIN
>
> Success: false
>
> Duration: 0.0
>
> Project: lbs
>
> Realization Names: []
>
> Cuboid Ids: []
>
> Total scan count: 0
>
> Result row count: 0
>
> Accept Partial: true
>
> Is Partial Result: false
>
> Hit Exception Cache: false
>
> Storage cache used: false
>
> Message: Error while executing SQL "select     sum(pv_1d_001) pv from
> lbs_ad_pv_1d group by INDS order by pv desc LIMIT 50000": Can't find any
> realization. Please confirm with providers. SQL digest: fact table
> LBS.LBS_AD_PV_1D,group by [LBS.LBS_AD_PV_1D.INDS],filter on [],with
> aggregates[FunctionDesc [expression=SUM, parameter=ParameterDesc
> [type=column, value=PV_1D_001, nextParam=null], returnType=null]].
>
> ==========================[QUERY]===============================
>
>
> 2016-05-13 09:04:46,153 ERROR [http-bio-8887-exec-4]
> controller.BasicController:44 :
>
> org.apache.kylin.rest.exception.InternalErrorException: Error while
> executing SQL "select     sum(pv_1d_001) pv from lbs_ad_pv_1d group by INDS
> order by pv desc LIMIT 50000": Can't find any realization. Please confirm
> with providers. SQL digest: fact table LBS.LBS_AD_PV_1D,group by
> [LBS.LBS_AD_PV_1D.INDS],filter on [],with aggregates[FunctionDesc
> [expression=SUM, parameter=ParameterDesc [type=column, value=PV_1D_001,
> nextParam=null], returnType=null]].
>
> at
> org.apache.kylin.rest.controller.QueryController.doQueryWithCache(QueryController.java:224)
>
> at
> org.apache.kylin.rest.controller.QueryController.query(QueryController.java:94)
>
> 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:601)
>
> at
> org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>
> at
> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>
> at
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>
> at
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>
> at
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>
> at
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>
> at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>
> at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
>
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:201)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:91)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
>
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>
> at
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
>
> at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
>
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
>
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>
> at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:195)
>
> at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:266)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
>
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
>
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
>
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
>
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
>
> at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
>
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
>
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>
> at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>
> at java.lang.Thread.run(Thread.java:722)
>
> 2016-05-13 16:53 GMT+08:00 ShaoFeng Shi <[email protected]>:
>
>> The "top_n" is not a SQL function so the second statement is wrong.
>>
>> The first statment looks good; to investigate the issue, please provide:
>> 1) the cube definition json;
>> 2) the log message in logs/kylin.log when you run this SQL first time (no
>> cache be hit)
>>
>> 2016-05-13 15:06 GMT+08:00 lancelot chen <[email protected]>:
>>
>>> I'm confusing about usage of TOP_N measure.
>>> I have a cube with TOP_N measure built in, measure definition is:
>>>
>>> {
>>>
>>>       "name": "PV_1D_001_TOP100",
>>>
>>>       "function": {
>>>
>>>         "expression": "TOP_N",
>>>
>>>         "parameter": {
>>>
>>>           "type": "column",
>>>
>>>           "value": "PV_1D_001",
>>>
>>>           "next_parameter": {
>>>
>>>             "type": "column",
>>>
>>>             "value": "INDS",
>>>
>>>             "next_parameter": null
>>>
>>>           }
>>>
>>>         },
>>>
>>>         "returntype": "topn(100)"
>>>
>>>       },
>>>
>>>       "dependent_measure_ref": null
>>>
>>>     }
>>>
>>> But I can't get this measure by using either "SUM | GROUP BY | ORDER BY"
>>>  nor "SELECT TOP_N | GROUP BY". Error message is:
>>>
>>>     When using SUM | GROUP BY | ORDER BY:
>>>
>>>         Error while executing SQL "select sum(pv_1d_001) pv from test
>>> group by INDS order by pv desc LIMIT 50000": Can't find any realization.
>>> Please confirm with providers. SQL digest: fact table
>>> LBS.LBS_AD_PV_1D,group by [LBS.LBS_AD_PV_1D.INDS],filter on [],with
>>> aggregates[FunctionDesc [expression=SUM, parameter=ParameterDesc
>>> [type=column, value=PV_1D_001, nextParam=null], returnType=null]]
>>>
>>>     When using SELECT TOP_N | GROUP BY:
>>>
>>>         Error while executing SQL "select top_n(pv_1d_001) pv from test
>>> group by INDS LIMIT 50000": From line 2, column 5 to line 2, column 20: No
>>> match found for function signature TOP_N(<NUMERIC>)
>>>
>>
>>
>>
>> --
>> Best regards,
>>
>> Shaofeng Shi
>>
>>
>


-- 
Best regards,

Shaofeng Shi

Reply via email to