如何更新 SparkR 中的 Spark 设置?

问题描述 投票:0回答:1

我正在尝试使用 SparkR 从数据库中提取一个非常大的数据集到我的 Databricks 集群上,以在其上运行一些 R 函数。 然而,我遇到了一个问题,尽管我的集群确实足够大,但我遇到了错误:

66个任务的序列化结果总大小(4.0 GiB)大于spark.driver.maxResultSize 4.0 GiB。

(是的,可能应该重构代码,但现在最重要的是让它正常工作。)

根据Spark文档,可以将其设置为“0”以使设置不受限制。 但是,我在 R 中找不到任何有关如何执行此操作的信息(Python 上的一堆信息!)。

如何更新此设置以取消该值的上限?

r apache-spark sparkr
1个回答
0
投票

使用 SparkR 时,您可以使用

sparkConfig
函数的
SparkR::sparkR.session()
参数设置 Spark 配置。

同时,您当前的 Spark 配置可通过

SparkR::sparkR.conf()
命令获取,并以列表形式返回。

因此,在这种情况下,您需要使用除要更新的一个参数之外的整个现有配置。

下面的代码应该:

  • 备份默认配置
  • 创建可以更新的副本
  • 更新需要调整的一个列表项
  • 将更新的配置应用到会话。

我希望这有帮助!

orig_spark_conf <- sparkR.conf()
updated_spark_conf <- orig_spark_conf
updated_spark_conf$spark.driver.maxResultSize <- "0"
sparkR.session(sparkConfig=updated_spark_conf)
© www.soinside.com 2019 - 2024. All rights reserved.