class AggHelper extends Serializable
Internal class used in computeAggregates for the pre, agg, and post steps
- Alphabetic
- By Inheritance
- AggHelper
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
AggHelper(inputAttributes: Seq[Attribute], groupingExpressions: Seq[NamedExpression], aggregateExpressions: Seq[GpuAggregateExpression], forceMerge: Boolean, conf: SQLConf, isSorted: Boolean = false)
- inputAttributes
input attributes to identify the input columns from the input batches
- groupingExpressions
expressions used for producing the grouping keys
- aggregateExpressions
GPU aggregate expressions used to produce the aggregations
- forceMerge
if true, we are merging two pre-aggregated batches, so we should use the merge steps for each aggregate function
- conf
A configuration used to control TieredProject operations in an aggregation.
- isSorted
if the batch is sorted this is set to true and is passed to cuDF as an optimization hint
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def aggregate(metrics: GpuHashAggregateMetrics, preProcessed: SpillableColumnarBatch): SpillableColumnarBatch
- def aggregate(preProcessed: ColumnarBatch, numAggs: GpuMetric): ColumnarBatch
- def aggregateWithoutCombine(metrics: GpuHashAggregateMetrics, preProcessed: Iterator[SpillableColumnarBatch]): Iterator[SpillableColumnarBatch]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
performGroupByAggregation(preProcessed: ColumnarBatch): ColumnarBatch
Used to produce a group-by aggregate
Used to produce a group-by aggregate
- preProcessed
the batch after the "pre" step
- returns
a Table that has been cuDF aggregated
-
def
performReduction(preProcessed: ColumnarBatch): ColumnarBatch
Invoke reduction functions as defined in each
CudfAggreagteInvoke reduction functions as defined in each
CudfAggreagte- preProcessed
- a batch after the "pre" step
- def postProcess(input: Iterator[SpillableColumnarBatch], metrics: GpuHashAggregateMetrics): Iterator[SpillableColumnarBatch]
-
def
postProcess(aggregatedSpillable: SpillableColumnarBatch, metrics: GpuHashAggregateMetrics): SpillableColumnarBatch
Used to produce the outbound batch from the aggregate that could be shuffled or could be passed through the evaluateExpression if we are in the final stage.
Used to produce the outbound batch from the aggregate that could be shuffled or could be passed through the evaluateExpression if we are in the final stage. It takes a cuDF aggregated batch and applies the "post" step: postUpdate for update, or postMerge for merge
- returns
output batch from the aggregate
-
def
preProcess(toAggregateBatch: ColumnarBatch, metrics: GpuHashAggregateMetrics): SpillableColumnarBatch
Apply the "pre" step: preMerge for merge, or pass-through in the update case
Apply the "pre" step: preMerge for merge, or pass-through in the update case
- toAggregateBatch
- input (to the agg) batch from the child directly in the merge case, or from the
inputProjectionin the update case.- returns
a pre-processed batch that can be later cuDF aggregated
- val preStepBound: GpuTieredProject
- def setSort(isSorted: Boolean): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()