case classCollectAggregateExec(basePlan: SnappyHashAggregateExec, child: SparkPlan, output: Seq[Attribute]) extends SparkPlan with UnaryExecNode with Product with Serializable
Special plan to collect top-level aggregation on driver itself and avoid
an exchange for simple aggregates.
case classSnappyHashAggregateExec(requiredChildDistributionExpressions: Option[Seq[Expression]], groupingExpressions: Seq[NamedExpression], aggregateExpressions: Seq[AggregateExpression], aggregateAttributes: Seq[Attribute], __resultExpressions: Seq[NamedExpression], child: SparkPlan, hasDistinct: Boolean) extends NonRecursivePlans with UnaryExecNode with BatchConsumer with Product with Serializable
Hash-based aggregate operator that can also fallback to sorting when
data exceeds memory size.
Hash-based aggregate operator that can also fallback to sorting when
data exceeds memory size.
Parts of this class have been adapted from Spark's HashAggregateExec.
That class is not extended because it forces that the limitations
HashAggregateExec.supportsAggregate of that implementation in
the constructor itself while this implementation has no such restriction.
Hash-based aggregate operator that can also fallback to sorting when data exceeds memory size.
Parts of this class have been adapted from Spark's HashAggregateExec. That class is not extended because it forces that the limitations
HashAggregateExec.supportsAggregate
of that implementation in the constructor itself while this implementation has no such restriction.