You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "yiming.xu (JIRA)" <ji...@apache.org> on 2018/03/09 07:18:00 UTC
[jira] [Updated] (KYLIN-3284) Refactor all OLAPRel computeSelfCost
[ https://issues.apache.org/jira/browse/KYLIN-3284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
yiming.xu updated KYLIN-3284:
-----------------------------
Description:
for queries like:
select lstg_format_name from test_kylin_fact order by case
when 1=1 then
cal_dt
ELSE
seller_id
end
the expected logical plan after volcano is:
{code:java}
OLAPToEnumerableConverter
OLAPLimitRel(ctx=[], fetch=[50000])
OLAPAggregateRel(group=[{}], EXPR$0=[SUM($0)], ctx=[])
OLAPProjectRel(count=[$1], ctx=[])
OLAPSortRel(sort0=[$1], dir0=[DESC], ctx=[])
OLAPAggregateRel(group=[{0}], count=[COUNT()], ctx=[])
OLAPProjectRel(LSTG_FORMAT_NAME=[$3], ctx=[])
OLAPTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]])
{code}
however the actual is:
{code:java}
OLAPToEnumerableConverter
OLAPLimitRel(ctx=[], fetch=[50000])
OLAPSortRel(sort0=[$1], dir0=[ASC], ctx=[])
OLAPProjectRel(LSTG_FORMAT_NAME=[$3], EXPR$1=[CASE(=(1, 1), $2, CAST($7):DATE)], ctx=[])
OLAPTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]])
{code}
was:
for queries like:
select lstg_format_name from test_kylin_fact order by case
when 1=1 then
cal_dt
ELSE
seller_id
end
the expected logical plan after volcano is:
OLAPToEnumerableConverter
OLAPLimitRel(ctx=[], fetch=[50000])
OLAPAggregateRel(group=[{}], EXPR$0=[SUM($0)], ctx=[])
OLAPProjectRel(count=[$1], ctx=[])
OLAPSortRel(sort0=[$1], dir0=[DESC], ctx=[])
OLAPAggregateRel(group=[{0}], count=[COUNT()], ctx=[])
OLAPProjectRel(LSTG_FORMAT_NAME=[$3], ctx=[])
OLAPTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]])
however the actual is:
OLAPToEnumerableConverter
OLAPLimitRel(ctx=[], fetch=[50000])
OLAPSortRel(sort0=[$1], dir0=[ASC], ctx=[])
OLAPProjectRel(LSTG_FORMAT_NAME=[$3], EXPR$1=[CASE(=(1, 1), $2, CAST($7):DATE)], ctx=[])
OLAPTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]])
> Refactor all OLAPRel computeSelfCost
> ------------------------------------
>
> Key: KYLIN-3284
> URL: https://issues.apache.org/jira/browse/KYLIN-3284
> Project: Kylin
> Issue Type: Improvement
> Components: Query Engine
> Affects Versions: v2.3.0
> Reporter: yiming.xu
> Assignee: yiming.xu
> Priority: Major
>
> for queries like:
> select lstg_format_name from test_kylin_fact order by case
> when 1=1 then
> cal_dt
> ELSE
> seller_id
> end
> the expected logical plan after volcano is:
> {code:java}
> OLAPToEnumerableConverter
> OLAPLimitRel(ctx=[], fetch=[50000])
> OLAPAggregateRel(group=[{}], EXPR$0=[SUM($0)], ctx=[])
> OLAPProjectRel(count=[$1], ctx=[])
> OLAPSortRel(sort0=[$1], dir0=[DESC], ctx=[])
> OLAPAggregateRel(group=[{0}], count=[COUNT()], ctx=[])
> OLAPProjectRel(LSTG_FORMAT_NAME=[$3], ctx=[])
> OLAPTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]])
> {code}
> however the actual is:
> {code:java}
> OLAPToEnumerableConverter
> OLAPLimitRel(ctx=[], fetch=[50000])
> OLAPSortRel(sort0=[$1], dir0=[ASC], ctx=[])
> OLAPProjectRel(LSTG_FORMAT_NAME=[$3], EXPR$1=[CASE(=(1, 1), $2, CAST($7):DATE)], ctx=[])
> OLAPTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]])
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)