Hi Spark Devs,

I really need your help understanding the relationship
between HashAggregateExec, TungstenAggregationIterator and
UnsafeFixedWidthAggregationMap.

While exploring UnsafeFixedWidthAggregationMap and how it's used I've
noticed that it's for HashAggregateExec and TungstenAggregationIterator
exclusively. And given that TungstenAggregationIterator is used exclusively
in HashAggregateExec and the use of UnsafeFixedWidthAggregationMap in both
seems to be almost the same (if not the same), I've got a question I cannot
seem to answer myself.

Since HashAggregateExec supports Whole-Stage Codegen
HashAggregateExec.doExecute won't be used at all, but doConsume and
doProduce (unless codegen is disabled). Is that correct?

If so, TungstenAggregationIterator is not used at all, but
UnsafeFixedWidthAggregationMap is used directly instead (in the Java code
that uses createHashMap or finishAggregate). Is that correct?

Pozdrawiam,
Jacek Laskowski
----
https://about.me/JacekLaskowski
Mastering Spark SQL https://bit.ly/mastering-spark-sql
Spark Structured Streaming https://bit.ly/spark-structured-streaming
Mastering Kafka Streams https://bit.ly/mastering-kafka-streams
Follow me at https://twitter.com/jaceklaskowski

Reply via email to