spark groupby 之后相同字段 的数据 是处于同一个分区吗?

发布于 2022-09-07 07:59:43 字数 292 浏览 16 评论 0

假定一个RDD 存在十个分区, 当对这个RDD进行groupby之后得到一个新的RDD,相同字段的数据是否 处于同一个分区?

我测试结果查看是相同分组字段的数据被划分到了相同分区, 并且同一个分区可以存在其他字段的数据。

延伸问题:
(1)如果说相同字段的数据处于同一分区那么 groupBy之后得到的groupByRDD.mapValues 获取到这个字段对应的所有的values数据,当数据量大的时候
groupByRdd.mapValues(_.tolist().sortby )就会产生内存溢出。
这个理解对吗

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

零時差 2022-09-14 07:59:43

groupbykey才会处于同一分区吧。
理论上mapValues如果过大确实应该溢出,我但测试了一组超大的数据,没有溢出。
根据文档和日志猜测,当后续有行动操作,触发mapValues操作,mapvalues的rdd会序列化到磁盘上,所以估计不是一起读取到内存中,而是通过磁盘交换,读一点写一点。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文