You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "hongbin ma (JIRA)" <ji...@apache.org> on 2016/08/30 06:40:20 UTC

[jira] [Resolved] (KYLIN-1954) BuildInFunctionTransformer should be executed per CubeSegmentScanner

     [ https://issues.apache.org/jira/browse/KYLIN-1954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

hongbin ma resolved KYLIN-1954.
-------------------------------
       Resolution: Fixed
    Fix Version/s: v1.5.4

> BuildInFunctionTransformer should be executed per CubeSegmentScanner
> --------------------------------------------------------------------
>
>                 Key: KYLIN-1954
>                 URL: https://issues.apache.org/jira/browse/KYLIN-1954
>             Project: Kylin
>          Issue Type: Improvement
>    Affects Versions: v1.5.3
>            Reporter: hongbin ma
>            Assignee: hongbin ma
>             Fix For: v1.5.4
>
>
> reported from dev mail list "Question abount BuildInFunctionTransformer"
> Sorry for the wrong description and thanks for the explaination.
> I have another question on this.
> Case1
> select merchant_name,dt_day,count(*)
> from session_view_shop_0
> where merchant_name like '%深海新创手机%'
> and dt_year='2016'
> and dt_month='07'
> and dt_day >='25'
> and dt_day <='28'
> group by merchant_name,dt_day
> 2016-08-05 09:25:06,263 INFO  [http-bio-7070-exec-10] dict.BuildInFunctionTransformer:66 : Translated {LIKE(KYLIN_REPORT_DB.SESSION_
> VIEW_SHOP_0.MERCHANT_NAME,%深海新创手机%)} to IN clause: {KYLIN_REPORT_DB.SESSION_VIEW_SHOP_0.MERCHANT_NAME IN []}
> Result1
> 深海新创手机专营店80002972 28 6360
> 深海新创手机专营店80002972 27 5501
> 深海新创手机专营店80002972 26 4830
> Case 2
> select merchant_name,dt_day,count(*)
> from session_view_shop_0
> where merchant_name like '%深海新创%'
> and dt_year='2016'
> and dt_month='07'
> and dt_day >='25'
> and dt_day <='28'
> group by merchant_name,dt_day
> 2016-08-05 09:37:55,469 INFO  [http-bio-7070-exec-15] dict.BuildInFunctionTransformer:66 : Translated {LIKE(KYLIN_REPORT_DB.SESSION_
> VIEW_SHOP_0.MERCHANT_NAME,%深海新创%)} to IN clause: {KYLIN_REPORT_DB.SESSION_VIEW_SHOP_0.MERCHANT_NAME IN [深海新创专营店80002972]}
> Result2
> 深海新创专营店80002972 25 5283
> ’深海新创手机专营店80002972’ is expected in result2 , as it exists which case1 shows.
> CubeStorageQuery.search/ CubeSegmentScanner
> when filter is translated for the first segment, filter is changed to
> CompareTupleFilter(IN clause)
> translate will not triger for the next segments.
> this is not right because dictionary is not same for every segments.
> assume data like this:
> merchant_name  cube segment
> 深海新创专营          20160725
> 深海新创手机          20160726
> when search with like '%深海新创%'
> CubeSegmentScanner scan segment '20160725' , and filter is changed to in
> clause( IN '深海新创专营')
> result is right for this segment ,but not for the next segments because
> filter now has been changed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)