gpt4 book ai didi

apache-spark - "collect()"或 "take(n)"上 MB 大小的数据在 Spark 上的问题

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

我们是一群使用 spark 的人(spark 2.1.0 standalone有2名 worker ;编程是在 Scala 中完成的,一切都是在几个 docker 内运行)。我们遇到了一个问题当收集到的数据命中时,“collect”或“take(n)”会变得非常慢一些尺寸上限。

我们遇到过好几次这个问题,但我们已经沸腾了将问题归结为一个简单的例子:它读取一个文件(来自本地文件系统或来自 hdfs;我们都测试了)然后收集结果。它工作正常,直到一定大小的文件(大约 2 MB)并且然后它非常慢(大约 3 MB 它完全中断)。如果它不收集(例如它只是做一个 saveAsTextFile)设置可以处理大至 200 GB 的文件。我们测试了增加驱动程序内存十倍(从 2GB RAM 到 20GB RAM),但事实并非如此解决问题;事实上我们的测试表明我们的小实验无论我们提供多少 RAM,文件大小都会变慢给司机或 worker 。

我在这里总结了我的实验:https://pastebin.com/raw/6yXztq0H

在这个实验中,程序读取文件“s”和“take(n)”和“n”逐渐增加。正如带时间戳的输出所示,它几乎可以工作立即为“n≤104145”(尽管设置有很大变化,它实际上只有一点点变化)然后它很慢。对于大的“n”(见第二次运行)驱动程序因“TaskResultLost”错误而崩溃。最后实验(第三次运行)表明这似乎不是内存问题(这似乎合乎逻辑,因为文件相对较小,大约 2 MB)。

(实验中没有显示,但我们也玩了SPARK_DAEMON_MEM 但它似乎没有任何改变。)

有人遇到过同样的问题吗?有没有人有想法帮助我们进一步搜索?

最佳答案

如果您已经尝试增加 spark.driver.memory,请尝试增加 spark.driver.maxResultSize

关于apache-spark - "collect()"或 "take(n)"上 MB 大小的数据在 Spark 上的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43048302/

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