Skip to content

Latest commit

 

History

History
33 lines (19 loc) · 875 Bytes

hash-agg.md

File metadata and controls

33 lines (19 loc) · 875 Bytes

HashAgg

buildHashAgg

HashAggExec

HashAggExec 主要有如下几种gorotine, 他们之间通过ch来协作,每个go routine 主要功能如下

  • fetchChildData 负责从child Exec中读取chunk数据
  • HashAggPartialWorker 处理fetchChildData的输出数据,调用AggFunc的UpdatePartialResult, 做一个预处理.
  • HashAggFinalWorker 处理HashAggPartialWorker的输出数据,调用AggFunc的MergePartialResultAppendFinalResult2Chunk, 输出最终结果到finalOutputCh中
  • HashAggExec.Next 从finalOutputCh中获取最后结果,输出给上层调用者。

getGroupKey

updatePartialResult

consumeIntermData