gpt4 book ai didi

scala - Spark 作业在显示所有作业完成后重新启动,然后失败(TimeoutException : Futures timed out after [300 seconds])

转载 作者:行者123 更新时间:2023-12-04 19:45:32 25 4
gpt4 key购买 nike

我正在做一个 Spark 工作。它显示所有作业都已完成:
enter image description here

但是几分钟后整个作业重新启动,这次它会显示所有作业和任务也已完成,但几分钟后它会失败。
我在日志中发现了这个异常:

java.util.concurrent.TimeoutException: Futures timed out after [300 seconds]

因此,当我尝试加入 2 个相当大的表时会发生这种情况:当我运行 show(100) 时,其中一个是 3B 行,第二个是 200M 行。在生成的数据帧上,一切都得到了评估,我遇到了这个问题。

我尝试增加/减少分区数量,我将垃圾收集器更改为 G1,增加线程数量。我改了 spark.sql.broadcastTimeout到 600(这使得超时消息更改为 600 秒)。

我还读到这可能是通信问题,但是其他 show()在此代码段之前运行的子句没有问题,所以可能不是这样。

这是提交命令:
/opt/spark/spark-1.4.1-bin-hadoop2.3/bin/spark-submit  --master yarn-cluster --class className --executor-memory 12g --executor-cores 2 --driver-memory 32g --driver-cores 8 --num-executors 40 --conf "spark.executor.extraJavaOptions=-XX:+UseG1GC -XX:ConcGCThreads=20" /home/asdf/fileName-assembly-1.0.jar

您可以了解 Spark 版本以及从那里使用的资源。

我从这里去哪里?任何帮助将不胜感激,如果需要,将提供代码段/附加日志记录。

最佳答案

最终解决这个问题的是在加入之前保留两个数据帧。

我查看了数据帧持久化前后的执行计划,奇怪的是spark在持久化之前试图执行一个BroadcastHashJoin ,显然由于数据帧的大小而失败,并且在持久化执行计划后显示连接将是ShuffleHashJoin ,完成没有任何问题。一个错误?也许,当我开始使用时,我会尝试使用更新的 Spark 版本。

关于scala - Spark 作业在显示所有作业完成后重新启动,然后失败(TimeoutException : Futures timed out after [300 seconds]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36290486/

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