gpt4 book ai didi

apache-spark - PySpark 超出了 GC 开销限制

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

我目前正在使用 PySpark 处理大量日志,但我的集群遇到了一些内存问题。

它给了我以下错误:

HTTP ERROR 500

Problem accessing /jobs/. Reason:

Server Error Caused by:

java.lang.OutOfMemoryError: GC overhead limit exceeded

这是我当前的配置:

spark.driver.cores  3
spark.driver.memory 6g
spark.executor.cores 3
spark.executor.instances 20
spark.executor.memory 6g
spark.yarn.executor.memoryOverhead 2g

首先,我不会在我的 Spark 作业中缓存/保留任何内容。

我读到它可能与 memoryOverhead 有关,这就是我增加它的原因。但似乎还不够。我还读到它也可能与垃圾收集器有关。这就是我在这里的主要问题,当您必须处理许多不同的数据库时,什么是最佳实践

我必须做很多JOIN,我正在用 SparkSql 做这些,我正在创建很多 TempViews。这是一种不好的做法吗?发出一些巨大的 SQL 请求并在一个 SQL 请求中执行 10 个连接会更好吗?它会降低代码的可读性,但它能帮助解决我的问题吗?

谢谢,

最佳答案

好吧,我想我已经解决了我的问题。这是关于广播的事情。

我认为由于我的连接很大,它们需要相当长的时间,所以我禁用了广播:

config("spark.sql.autoBroadcastJoinThreshold", "-1")

问题似乎解决了。

谢谢,

关于apache-spark - PySpark 超出了 GC 开销限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46164655/

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