开发者社区> 问答> 正文

为什么GROUP BY只需要在worker线程上执行一次就可以保证结果的正确性?

为什么GROUP BY只需要在worker线程上执行一次就可以保证结果的正确性?

展开
收起
游客gbsb4ehzllekm 2022-05-11 13:36:59 281 0
来自:阿里技术
1 条回答
写回答
取消 提交回答
  • 通常来说,每个worker只有所有数据的一个分片,只在一个数据分片上做GROUP BY是有极大的风险得到错误的GROUP BY结果的,因为同一GROUP分组的数据可能不只是在本WORKER的数据分片上,也可能在其它WORKER的数据分片中,被其它WORKER所持有。但是如果我们可以保证同一GROUP分组的数据一定位于同一个数据分片,并且这个数据分片只被一个WORKER线程所持有,那么就可以保证GROUP BY结果的正确性。

    2022-05-11 22:32:35
    赞同 展开评论 打赏
问答标签:
问答地址:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
多IO线程优化版 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多