[ https://issues.apache.org/jira/browse/CALCITE-1803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16033455#comment-16033455 ]
Julian Hyde edited comment on CALCITE-1803 at 6/1/17 6:32 PM: -------------------------------------------------------------- Since Calcite rewrites {{AVG\(x)}} to {{SUM\(x) / COUNT\(x)}}, this change should enable {code}SELECT "store_state", AVG("unit_sales") FROM "foodmart" GROUP BY "store_state"{code} to be pushed down to Druid in its entirety. was (Author: julianhyde): Since Calcite rewrites {{AVG(x)}} to {{SUM(x) / COUNT(x)}}, this change should enable {code}SELECT "store_state", AVG("unit_sales") FROM "foodmart" GROUP BY "store_state"{code} to be pushed down to Druid in its entirety. > Push Project that follows Aggregate down to Druid > ------------------------------------------------- > > Key: CALCITE-1803 > URL: https://issues.apache.org/jira/browse/CALCITE-1803 > Project: Calcite > Issue Type: New Feature > Components: druid > Affects Versions: 1.11.0 > Reporter: Junxian Wu > Assignee: Julian Hyde > Original Estimate: 336h > Remaining Estimate: 336h > > Druid post aggregations are not supported when parsing SQL queries. By > implementing post aggregations, we can offload some computation to the druid > cluster rather than aggregate on the client side. > Example usage: > {{SELECT SUM("column1") - SUM("column2") FROM "table";}} > This query will be parsed into two separate Druid aggregations according to > current rules. Then the results will be subtracted in Calcite. By using the > {{postAggregations}} field in the druid query, the subtraction could be done > in Druid cluster. Although the previous example is simple, the difference > will be obvious when the number of result rows are large. (Multiple rows > result will happen when group by is used). > Questions: > After I push Post aggregation into Druid query, what should I change on the > project relational correlation? In the case of the example above, the > {{BindableProject}} will have the expression to representation the > subtraction. If I push the post aggregation into druid query, the expression > of subtraction should be replaced by the representation of the post > aggregations result. For now, the project expression seems can only point to > the aggregations results. Since post aggregations have to point to > aggregations results too, it could not be placed in the parallel level as > aggregation. Where should I put post aggregations? -- This message was sent by Atlassian JIRA (v6.3.15#6346)