Hi All,
I tried using Kylin on Hadoop environment, but overhead of hadoop is too
much
for our medium scale need.
Is there any way we can use kylin Olap engine with minimal requirements of
underlaying storage layer.
What are the best practices and architecture to support this, where we
possibly can use it without hadoop components.
Thanks

Asim Ali
*Software Developer*

Email: a...@easyemployer.com <a...@easyemployer.com>

Phone: 1300 855 642 <1300855642>
Website: www.easyemployer.com

[image: easyemployer] <http://www.easyemployer.com/>


On Fri, 21 Jun 2019 at 15:22, 敏丞 <hit_la...@126.com> wrote:

> Hi,
>     After check cube.json provided by you, I can reproduce this error in
> my development env. Looks like this kind exception occurs when you have a
> cube which *have both Raw measure and CountDistinct(Bitmap) on the same
> column*. I find the reason should be the Raw Measure choose the wrong
> dictionary (AppendTrieDictionary cannot used to decode).  Maybe you should
> try use two cubes in this situation.
>     And if you don't mind, I have a question, have you ever use this type
> of query "select * from FACT_TABLE" in old version of kylin in such kind of
> cube(raw measure and count_distinct both on the same column) and get
> correct result successfully?
>
>
>     If you have find anything wrong or other information, please let me
> know. Thank you.
>
>
>
>
> *-----------------*
> *-----------------*
> *Best wishes to you ! *
> *From :**Xiaoxiang Yu*
>
>
> At 2019-06-20 16:00:10, "greatelvisw...@gmail.com" <greatelvisw...@gmail.com> 
> wrote:
> >hi,all:
> >
> > I got an error like "AppendTrieDictionary can't retrieve value from id" 
> > while query the cube data, the following is the cube info and  exception 
> > info.
> >
> >I found the same error in this 
> >thread(https://lists.apache.org/thread.html/63981bc08ef7b97c41921ed692de79ef9a744f6329192e5199074ba3@%3Cdev.kylin.apache.org%3E),
> > but I just use the  bitmaps (count distinct) as  measure, and never use it 
> >as dimension.
> >
> >So please help me to resolve it.
> >
> >cube data:
> >{
> >  "uuid": "eb0b4a32-fbc0-b197-b3f0-4c9cd5fb3916",
> >  "last_modified": 1561014544528,
> >  "version": "2.6.2.0",
> >  "name": "dev_cube_user_currency",
> >  "is_draft": false,
> >  "model_name": "user_currency",
> >  "description": "",
> >  "null_string": null,
> >  "dimensions": [
> >    {
> >      "name": "TYPE",
> >      "table": "DEV_DWD_USER_CURRENCY",
> >      "column": "TYPE",
> >      "derived": null
> >    },
> >    {
> >      "name": "SUB_TYPE",
> >      "table": "DEV_DWD_USER_CURRENCY",
> >      "column": "SUB_TYPE",
> >      "derived": null
> >    },
> >    {
> >      "name": "SOURCE_TYPE",
> >      "table": "DEV_DWD_USER_CURRENCY",
> >      "column": "SOURCE_TYPE",
> >      "derived": null
> >    },
> >    {
> >      "name": "SOURCE",
> >      "table": "DEV_DWD_USER_CURRENCY",
> >      "column": "SOURCE",
> >      "derived": null
> >    },
> >    {
> >      "name": "STATUS",
> >      "table": "DEV_DWD_USER_CURRENCY",
> >      "column": "STATUS",
> >      "derived": null
> >    },
> >    {
> >      "name": "CREATE_TIME",
> >      "table": "DEV_DWD_USER_CURRENCY",
> >      "column": "CREATE_TIME",
> >      "derived": null
> >    },
> >    {
> >      "name": "UPDATE_TIME",
> >      "table": "DEV_DWD_USER_CURRENCY",
> >      "column": "UPDATE_TIME",
> >      "derived": null
> >    },
> >    {
> >      "name": "END_TIME",
> >      "table": "DEV_DWD_USER_CURRENCY",
> >      "column": "END_TIME",
> >      "derived": null
> >    },
> >    {
> >      "name": "ACTIVATION_TIME",
> >      "table": "DEV_DWD_USER_CURRENCY",
> >      "column": "ACTIVATION_TIME",
> >      "derived": null
> >    },
> >    {
> >      "name": "CODE",
> >      "table": "DEV_DIM_CURRENCY_TYPE",
> >      "column": null,
> >      "derived": [
> >        "CODE"
> >      ]
> >    },
> >    {
> >      "name": "SHORT_NAME",
> >      "table": "DEV_DIM_CURRENCY_TYPE",
> >      "column": null,
> >      "derived": [
> >        "SHORT_NAME"
> >      ]
> >    }
> >  ],
> >  "measures": [
> >    {
> >      "name": "_COUNT_",
> >      "function": {
> >        "expression": "COUNT",
> >        "parameter": {
> >          "type": "constant",
> >          "value": "1"
> >        },
> >        "returntype": "bigint"
> >      }
> >    },
> >    {
> >      "name": "SUM_TOTAL",
> >      "function": {
> >        "expression": "SUM",
> >        "parameter": {
> >          "type": "column",
> >          "value": "DEV_DWD_USER_CURRENCY.TOTAL"
> >        },
> >        "returntype": "double"
> >      }
> >    },
> >    {
> >      "name": "SUM_BALANCE",
> >      "function": {
> >        "expression": "SUM",
> >        "parameter": {
> >          "type": "column",
> >          "value": "DEV_DWD_USER_CURRENCY.BALANCE"
> >        },
> >        "returntype": "double"
> >      }
> >    },
> >    {
> >      "name": "SUM_VALID_PERIOD",
> >      "function": {
> >        "expression": "SUM",
> >        "parameter": {
> >          "type": "column",
> >          "value": "DEV_DWD_USER_CURRENCY.VALID_PERIOD"
> >        },
> >        "returntype": "bigint"
> >      }
> >    },
> >    {
> >      "name": "MAX_TOTAL",
> >      "function": {
> >        "expression": "MAX",
> >        "parameter": {
> >          "type": "column",
> >          "value": "DEV_DWD_USER_CURRENCY.TOTAL"
> >        },
> >        "returntype": "double"
> >      }
> >    },
> >    {
> >      "name": "MAX_BALANCE",
> >      "function": {
> >        "expression": "MAX",
> >        "parameter": {
> >          "type": "column",
> >          "value": "DEV_DWD_USER_CURRENCY.BALANCE"
> >        },
> >        "returntype": "double"
> >      }
> >    },
> >    {
> >      "name": "MAX_VALID_PERIOD",
> >      "function": {
> >        "expression": "MAX",
> >        "parameter": {
> >          "type": "column",
> >          "value": "DEV_DWD_USER_CURRENCY.VALID_PERIOD"
> >        },
> >        "returntype": "integer"
> >      }
> >    },
> >    {
> >      "name": "MIN_TOTAL",
> >      "function": {
> >        "expression": "MIN",
> >        "parameter": {
> >          "type": "column",
> >          "value": "DEV_DWD_USER_CURRENCY.TOTAL"
> >        },
> >        "returntype": "double"
> >      }
> >    },
> >    {
> >      "name": "MIN_BALANCE",
> >      "function": {
> >        "expression": "MIN",
> >        "parameter": {
> >          "type": "column",
> >          "value": "DEV_DWD_USER_CURRENCY.BALANCE"
> >        },
> >        "returntype": "double"
> >      }
> >    },
> >    {
> >      "name": "MIN_VALID_PERIOD",
> >      "function": {
> >        "expression": "MIN",
> >        "parameter": {
> >          "type": "column",
> >          "value": "DEV_DWD_USER_CURRENCY.VALID_PERIOD"
> >        },
> >        "returntype": "integer"
> >      }
> >    },
> >    {
> >      "name": "RAW_PARENT_ID",
> >      "function": {
> >        "expression": "RAW",
> >        "parameter": {
> >          "type": "column",
> >          "value": "DEV_DWD_USER_CURRENCY.PARENT_ID"
> >        },
> >        "returntype": "raw"
> >      }
> >    },
> >    {
> >      "name": "RAW_ORDER_NO",
> >      "function": {
> >        "expression": "RAW",
> >        "parameter": {
> >          "type": "column",
> >          "value": "DEV_DWD_USER_CURRENCY.ORDER_NO"
> >        },
> >        "returntype": "raw"
> >      }
> >    },
> >    {
> >      "name": "COUNT_PARENTID",
> >      "function": {
> >        "expression": "COUNT_DISTINCT",
> >        "parameter": {
> >          "type": "column",
> >          "value": "DEV_DWD_USER_CURRENCY.PARENT_ID"
> >        },
> >        "returntype": "bitmap"
> >      }
> >    },
> >    {
> >      "name": "COUNT_ORDERNO",
> >      "function": {
> >        "expression": "COUNT_DISTINCT",
> >        "parameter": {
> >          "type": "column",
> >          "value": "DEV_DWD_USER_CURRENCY.ORDER_NO"
> >        },
> >        "returntype": "bitmap"
> >      }
> >    }
> >  ],
> >  "dictionaries": [
> >    {
> >      "column": "DEV_DWD_USER_CURRENCY.PARENT_ID",
> >      "builder": "org.apache.kylin.dict.GlobalDictionaryBuilder"
> >    },
> >    {
> >      "column": "DEV_DWD_USER_CURRENCY.ORDER_NO",
> >      "builder": "org.apache.kylin.dict.GlobalDictionaryBuilder"
> >    }
> >  ],
> >  "rowkey": {
> >    "rowkey_columns": [
> >      {
> >        "column": "DEV_DWD_USER_CURRENCY.TYPE",
> >        "encoding": "integer:2",
> >        "encoding_version": 1,
> >        "isShardBy": false
> >      },
> >      {
> >        "column": "DEV_DWD_USER_CURRENCY.SUB_TYPE",
> >        "encoding": "integer:2",
> >        "encoding_version": 1,
> >        "isShardBy": false
> >      },
> >      {
> >        "column": "DEV_DWD_USER_CURRENCY.SOURCE_TYPE",
> >        "encoding": "integer:2",
> >        "encoding_version": 1,
> >        "isShardBy": false
> >      },
> >      {
> >        "column": "DEV_DWD_USER_CURRENCY.STATUS",
> >        "encoding": "integer:2",
> >        "encoding_version": 1,
> >        "isShardBy": false
> >      },
> >      {
> >        "column": "DEV_DWD_USER_CURRENCY.CREATE_TIME",
> >        "encoding": "time",
> >        "encoding_version": 1,
> >        "isShardBy": false
> >      },
> >      {
> >        "column": "DEV_DWD_USER_CURRENCY.UPDATE_TIME",
> >        "encoding": "time",
> >        "encoding_version": 1,
> >        "isShardBy": false
> >      },
> >      {
> >        "column": "DEV_DWD_USER_CURRENCY.END_TIME",
> >        "encoding": "time",
> >        "encoding_version": 1,
> >        "isShardBy": false
> >      },
> >      {
> >        "column": "DEV_DWD_USER_CURRENCY.ACTIVATION_TIME",
> >        "encoding": "time",
> >        "encoding_version": 1,
> >        "isShardBy": false
> >      },
> >      {
> >        "column": "DEV_DWD_USER_CURRENCY.SOURCE",
> >        "encoding": "fixed_length:10",
> >        "encoding_version": 1,
> >        "isShardBy": false
> >      }
> >    ]
> >  },
> >  "hbase_mapping": {
> >    "column_family": [
> >      {
> >        "name": "F1",
> >        "columns": [
> >          {
> >            "qualifier": "M",
> >            "measure_refs": [
> >              "_COUNT_",
> >              "SUM_TOTAL",
> >              "SUM_BALANCE",
> >              "SUM_VALID_PERIOD",
> >              "MAX_TOTAL",
> >              "MAX_BALANCE",
> >              "MAX_VALID_PERIOD",
> >              "MIN_TOTAL",
> >              "MIN_BALANCE",
> >              "MIN_VALID_PERIOD",
> >              "RAW_PARENT_ID",
> >              "RAW_ORDER_NO"
> >            ]
> >          }
> >        ]
> >      },
> >      {
> >        "name": "F2",
> >        "columns": [
> >          {
> >            "qualifier": "M",
> >            "measure_refs": [
> >              "COUNT_PARENTID",
> >              "COUNT_ORDERNO"
> >            ]
> >          }
> >        ]
> >      }
> >    ]
> >  },
> >  "aggregation_groups": [
> >    {
> >      "includes": [
> >        "DEV_DWD_USER_CURRENCY.TYPE",
> >        "DEV_DWD_USER_CURRENCY.SUB_TYPE",
> >        "DEV_DWD_USER_CURRENCY.SOURCE_TYPE",
> >        "DEV_DWD_USER_CURRENCY.SOURCE",
> >        "DEV_DWD_USER_CURRENCY.STATUS",
> >        "DEV_DWD_USER_CURRENCY.CREATE_TIME",
> >        "DEV_DWD_USER_CURRENCY.UPDATE_TIME",
> >        "DEV_DWD_USER_CURRENCY.END_TIME",
> >        "DEV_DWD_USER_CURRENCY.ACTIVATION_TIME"
> >      ],
> >      "select_rule": {
> >        "hierarchy_dims": [],
> >        "mandatory_dims": [],
> >        "joint_dims": []
> >      }
> >    }
> >  ],
> >  "signature": "eiGIwgaD57yCz/jfbRCscg==",
> >  "notify_list": [],
> >  "status_need_notify": [
> >    "ERROR",
> >    "DISCARDED",
> >    "SUCCEED"
> >  ],
> >  "partition_date_start": 0,
> >  "partition_date_end": 3153600000000,
> >  "auto_merge_time_ranges": [],
> >  "volatile_range": 0,
> >  "retention_range": 0,
> >  "engine_type": 2,
> >  "storage_type": 2,
> >  "override_kylin_properties": {},
> >  "cuboid_black_list": [],
> >  "parent_forward": 3,
> >  "mandatory_dimension_set_list": [],
> >  "snapshot_table_desc_list": []
> >}
> >
> >=====exception info====================
> >org.apache.kylin.rest.exception.InternalErrorException: AppendTrieDictionary 
> >can't retrieve value from id
> >while executing SQL: "select * from mmears_dev.DEV_DWD_USER_CURRENCY limit 
> >10"
> >     at 
> > org.apache.kylin.rest.service.QueryService.doQueryWithCache(QueryService.java:441)
> >     at 
> > org.apache.kylin.rest.service.QueryService.doQueryWithCache(QueryService.java:367)
> >     at 
> > org.apache.kylin.rest.controller.QueryController.query(QueryController.java:93)
> >     at sun.reflect.GeneratedMethodAccessor209.invoke(Unknown Source)
> >     at 
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke(Method.java:498)
> >     at 
> > org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
> >     at 
> > org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
> >     at 
> > org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
> >     at 
> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
> >     at 
> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
> >     at 
> > org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
> >     at 
> > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
> >     at 
> > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
> >     at 
> > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
> >     at 
> > org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
> >     at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
> >     at 
> > org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
> >     at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
> >     at 
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
> >     at 
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> >     at 
> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >     at 
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> >     at 
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> >     at 
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
> >     at 
> > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
> >     at 
> > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
> >     at 
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at 
> > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
> >     at 
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at 
> > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
> >     at 
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at 
> > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
> >     at 
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at 
> > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
> >     at 
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at 
> > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
> >     at 
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at 
> > org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
> >     at 
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >     at 
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at 
> > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
> >     at 
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at 
> > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
> >     at 
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at 
> > org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
> >     at 
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >     at 
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at 
> > org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
> >     at 
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >     at 
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at 
> > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
> >     at 
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at 
> > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
> >     at 
> > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
> >     at 
> > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> >     at 
> > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
> >     at 
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> >     at 
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> >     at 
> > com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:209)
> >     at 
> > com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:244)
> >     at 
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> >     at 
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> >     at 
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
> >     at 
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
> >     at 
> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
> >     at 
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
> >     at 
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
> >     at 
> > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
> >     at 
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
> >     at 
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
> >     at 
> > org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
> >     at 
> > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
> >     at 
> > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
> >     at 
> > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
> >     at 
> > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
> >     at 
> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> >     at 
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> >     at 
> > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> >     at java.lang.Thread.run(Thread.java:748)
> >
>
>

Reply via email to