You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Jesus Camacho Rodriguez (JIRA)" <ji...@apache.org> on 2017/10/05 22:33:00 UTC

[jira] [Assigned] (HIVE-17716) Not pushing postaggregations into Druid due to CAST on constant

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

Jesus Camacho Rodriguez reassigned HIVE-17716:
----------------------------------------------


> Not pushing postaggregations into Druid due to CAST on constant
> ---------------------------------------------------------------
>
>                 Key: HIVE-17716
>                 URL: https://issues.apache.org/jira/browse/HIVE-17716
>             Project: Hive
>          Issue Type: Bug
>          Components: Druid integration
>            Reporter: Jesus Camacho Rodriguez
>            Assignee: Jesus Camacho Rodriguez
>
> After Calcite is upgraded to 1.14 and the rule to push post-aggregations to Druid is enabled, the following query fails to create a postaggregation:
> {code}
> EXPLAIN
> SELECT language, sum(added) + 100 AS a
> FROM druid_table_1
> GROUP BY language
> ORDER BY a DESC;
> {code}
> Problem seems to be that CAST is getting on the way for the rule to be applied. In particular, this is the final Calcite plan:
> {code}
>  HiveSortLimit(sort0=[$1], dir0=[DESC-nulls-last])
>   HiveProject(language=[$0], a=[+($1, CAST(100):DOUBLE)])
>     DruidQuery(table=[[default.druid_table_1]], intervals=[[1900-01-01T00:00:00.000/3000-01-01T00:00:00.000]], groups=[{6}], aggs=[[sum($10)]])
> {code}
> There are two different parts to explore to seek a solution: 1) why {{CAST(100):DOUBLE)}} is not folded to {{100.0d}}, and 2) whether the rule to push post-aggregations to Druid could handle the CAST in some particular cases.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)