gpt4 book ai didi

python - 使用sparkConf().set设置2个配置值

转载 作者:太空宇宙 更新时间:2023-11-03 15:44:21 26 4
gpt4 key购买 nike

我有一个脚本来处理几百 GB 的数据,当我尝试处理超过 500GB 的数据时,我遇到了麻烦,低于这个值,一切都工作正常。首先调试应用程序时,我收到有关超过 Spark.driver.maxResultSize 值限制的错误,因此我将此值增加到 4g,现在失败的任务正在工作,但是,现在当我尝试时,我遇到了另一个问题将结果保存到 Parquet 文件中,任务失败并抛出此错误

17/01/27 06:35:27 INFO DAGScheduler: Job 7 failed: parquet at NativeMethodAccessorImpl.java:-2, took 12.106390 s
17/01/27 06:35:27 ERROR InsertIntoHadoopFsRelation: Aborting job.
org.apache.spark.SparkException: Job aborted due to stage failure: Serialized task 146:0 was 765207245 bytes, which exceeds max allowed: spark.akka.frameSize (134217728 bytes) - reserved (204800 bytes). Consider increasing spark.akka.frameSize

所以,看来我需要增加spark.akka.frameSize值

我的问题是,我已经使用函数sparkConf().set增加了maxResultSize,但我不知道如何(或语法)增加sparkConf().set中的两个值。

这就是我在这些部分中的代码的样子:

conf = (SparkConf().set("spark.driver.maxResultSize", "4g"))
sc = SparkContext(conf=conf)
sqlContext = HiveContext(sc)

以及失败的任务:

sqlContext.sql(sql).coalesce(5).write.parquet(sys.argv[3], mode='overwrite')

只有一件事,我无法修改spark集群中的conf文件,而且,我们使用luigi将任务提交到spark,所以我无法在执行时修改spark-submit字符串脚本(这就是我直接从脚本修改参数的原因)

任何指导,我们表示赞赏。

最佳答案

RTFM - 直接来自 Spark 1.6.3 Python API documentation ...

class pyspark.SparkConf (...)

All setter methods in this class support chaining.
For example, you can write conf.setMaster"local").setAppName("My app")

关于python - 使用sparkConf().set设置2个配置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41888856/

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