gpt4 book ai didi

scala - 收集和计数操作之间有什么区别?

转载 作者:行者123 更新时间:2023-12-05 09:21:05 24 4
gpt4 key购买 nike

当我在local-mode spark中编写scala程序时,代码类似于RDD.map(x => function()).collect,控制台没有日志输出很长一段时间,我想它卡住了。于是我把 Action collect改成了count,整个执行很快就完成了。另外,map 阶段产生的记录很少被collect 收集,因此在将结果发送回驱动程序时不会出现网络传输问题.

谁能知道原因或遇到过类似的问题吗?

最佳答案

方法count对每个分区的 RDD 的条目数求和,并返回包含该数字的整数,因此数据传输最少;另一方面,方法collect正如它的名字所说,将所有条目作为 List 带到驱动程序中,因此如果没有足够的内存,您可能会遇到几个异常(这就是为什么不建议执行 collect 如果您不确定它是否适合您的驱动程序,通常有更快的替代方案,例如 take ,它也会触发惰性转换),此外它需要传输更多数据。

关于scala - 收集和计数操作之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34416366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com