gpt4 book ai didi

python - 并行化步骤中的 Spark 内存错误

转载 作者:行者123 更新时间:2023-12-01 07:34:45 24 4
gpt4 key购买 nike

我们正在使用最新的 Spark 版本。我们有一个非常大的元组列表作为输入(800 Mio.)。我们使用具有主节点和多个工作节点的 docker 容器运行 Pyspark 程序。驱动程序用于运行程序并连接到主站。

运行程序时,在 sc.parallelize(tuplelist) 行,程序要么退出并显示 java 堆错误消息,要么完全退出而不出现错误。我们不使用任何 Hadoop HDFS 层,也不使用 YARN。

到目前为止,我们已经考虑了这些 SO 帖子中提到的可能因素:

此时我们有以下问题:

  • 我们如何知道 sc.parallelize 步骤应使用多少个分区?这里有什么好的经验法则?
  • 您是否知道任何可能导致所观察到的行为的(常见?)错误?

最佳答案

How do we know how many partitions we should use for the sc.parallelize step? What is here a good rule-of-thumb?

答: 决定分区数量的因素有多种。

1) 在某些情况下,分区数量可能是核心数的 3-4 X 倍会比较好(考虑到每个分区的处理时间超过几秒)

2)分区不宜太小或太大(128MB或256MB)就足够了

Do you know any (common?) mistake which may lead to the observed behevior?

能否检查一下可用于运行的执行器内存和磁盘大小。

如果您可以指定有关该工作的更多详细信息,例如核心数量、执行程序内存、执行程序数量和可用磁盘数量有助于指出问题。

关于python - 并行化步骤中的 Spark 内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57038744/

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