Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 问题与「;收集();或;以(n)为例;关于spark上MB大小的数据_Apache Spark - Fatal编程技术网

Apache spark 问题与「;收集();或;以(n)为例;关于spark上MB大小的数据

Apache spark 问题与「;收集();或;以(n)为例;关于spark上MB大小的数据,apache-spark,Apache Spark,我们是一个使用spark(spark 2.1.0)的团队 有两个工人;编程是在scala中完成的,一切都很简单 在几个码头工人内部运行)。我们遇到了一个问题,使得 当收集到的数据到达时,“收集”或“获取(n)”会非常慢 一些大小的帽子 我们曾多次遇到这个问题,但都失败了 把问题归结为一个简单的例子:它从 本地文件系统或来自hdfs;我们测试了两者),然后收集 结果。在文件达到一定大小(大约2MB)和 然后它的速度非常慢(大约3MB,完全中断)。如果是 不收集(例如,它只保存一个saveAsTex

我们是一个使用spark(spark 2.1.0)的团队 有两个工人;编程是在scala中完成的,一切都很简单 在几个码头工人内部运行)。我们遇到了一个问题,使得 当收集到的数据到达时,“收集”或“获取(n)”会非常慢 一些大小的帽子

我们曾多次遇到这个问题,但都失败了 把问题归结为一个简单的例子:它从 本地文件系统或来自hdfs;我们测试了两者),然后收集 结果。在文件达到一定大小(大约2MB)和 然后它的速度非常慢(大约3MB,完全中断)。如果是 不收集(例如,它只保存一个saveAsTextFile)安装程序可以 处理200 GB大小的文件。我们已经测试过增加成本 驱动程序内存是原来的十倍(从2GB的RAM到20GB的RAM),但事实并非如此 解决问题,;事实上,我们的测试表明我们的小实验 无论我们提供了多少RAM,都会以相同的文件大小降低速度 给司机或工人

我在这里总结了我的实验:

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

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


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

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

好的,我们已经掌握了情况。以下是问题的说明,以供将来参考:

  • 当收集到的数据量足够大时,驱动程序将直接与执行器交互,而不是通过主机;这就是为什么我们的问题只出现在一定规模之后

  • 在我们的设置中,一些执行器和驱动程序之间存在网络问题,导致一些连接失败


  • 谢谢,我测试了改变这个参数,它似乎没有改变任何东西:s