Description
Drill has already modeled aggregation as a distributed, multi-step process that includes an initial aggregation step followed by a shuffle. Phoenix should have a physical operator that executes the initial aggregation step on the server-side. On the Phoenix side, we may be able to use our same AggregatePlan since we grab the underlying Scan from the QueryPlan as part of the information passed to the DrillBit. As long as the TupleProjector contains the correct KeyValueSchema to interpret the results coming back from the Scan, we have everything we need. We just need to make sure that Drill uses our physical operator.