Jesus Camacho Rodriguez created HIVE-17716:
----------------------------------------------

             Summary: 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)

Reply via email to