Interesting, count(distinct seller_id) should work as it is a pre-defined measure in the sample cube. Tao, could you please provide your Kylin version?
2016-05-06 9:32 GMT+08:00 Tao Li(Internship) <[email protected]>: > Yes, it worked successfully. Thanks. > > -----邮件原件----- > 发件人: Julian Hyde [mailto:[email protected]] > 发送时间: 2016年5月6日 0:42 > 收件人: [email protected] > 主题: Re: Can't create EnumerableAggregate > > Try changing "count(distinct seller_id)” to "count(seller_id)”. Does it > work now? I know that EnumerableAggregate cannot handle distinct-count and > I suspect Kylin cannot either. > > > On May 5, 2016, at 3:00 AM, Tao Li(Internship) <[email protected]> > wrote: > > > > Hi, > > > > I submitted sql in the learn_kylin project: > > > > select part_dt, sum(price) as total_selled, count(distinct seller_id) as > seller from kylin_sales group by part_dt order by part_dt > > > > And it failed with Error: > > > > Error while executing SQL "select part_dt, sum(price) as total_selled, > count(distinct seller_id) as seller from kylin_sales group by part_dt order > by part_dt LIMIT 500": Can't create EnumerableAggregate! > > > > The content in kylin.log file: > > > > 2016-05-05 17:47:41,509 ERROR [http-bio-7070-exec-4] > controller.BasicController:44 : > > org.apache.kylin.rest.exception.InternalErrorException: Error while > executing SQL "select part_dt, sum(price) as total_selled, count(distinct > seller_id) as seller from kylin_sales group by part_dt order by part_dt > LIMIT 500": Can't create EnumerableAggregate! > > 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.GeneratedMethodAccessor92.invoke(Unknown Source) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:606) > > 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.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:1145) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > > at java.lang.Thread.run(Thread.java:745) > > > > What is the problem? > > > > > > Best regards, > > > > > > > > Tao Li > > > > > > > > > > > ???(????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????,????????????????????? > > This email message (including any attachments) is confidential and may > be legally privileged. If you have received it by mistake, please notify > the sender by return email and delete this message from your system. Any > unauthorized use or dissemination of this message in whole or in part is > strictly prohibited. Envision Energy Limited and all its subsidiaries shall > not be liable for the improper or incomplete transmission of the > information contained in this email nor for any delay in its receipt or > damage to your system. Envision Energy Limited does not guarantee the > integrity of this email message, nor that this email message is free of > viruses, interceptions, or interference. > > > > > > 本邮件(包括任何附件)内容机密并受法律保护。如果您意外地收到这封邮件,请回复通知发件人并从当前系统中删除本邮件。任何未经授权者,严禁使用并部分或者全部的转发本条信息。任何未经授权的使用或传播都是被严格禁止的。远景能源与其分公司不对因不正确和不完整的转发此邮件包含的信息以及因任何因邮件延迟或对你的系统造成的损害而负责。远景能源不能保证此邮件的真实完整性,也不能确定此邮件是否含有病毒或者监听程序。 > This email message (including any attachments) is confidential and may be > legally privileged. If you have received it by mistake, please notify the > sender by return email and delete this message from your system. Any > unauthorized use or dissemination of this message in whole or in part is > strictly prohibited. Envision Energy Limited and all its subsidiaries shall > not be liable for the improper or incomplete transmission of the > information contained in this email nor for any delay in its receipt or > damage to your system. Envision Energy Limited does not guarantee the > integrity of this email message, nor that this email message is free of > viruses, interceptions, or interference. > -- Best regards, Shaofeng Shi
