Apache spark 如何在spark shell中设置spark.akka.frameSize?

Apache spark 如何在spark shell中设置spark.akka.frameSize?,apache-spark,Apache Spark,对于特定的spark shell会话,我正在尝试 spark-shell -Dspark.akka.frameSize=10000 --executor-memory 4g 在shell中,我得到以下信息: System.getProperty("spark.executor.memory") res0: String = 4g System.getProperty("spark.akka.frameSize") res1: String = null 可能是这个字符串不正确,但我在尝试对数

对于特定的spark shell会话,我正在尝试

spark-shell -Dspark.akka.frameSize=10000 --executor-memory 4g
在shell中,我得到以下信息:

System.getProperty("spark.executor.memory")
res0: String = 4g
System.getProperty("spark.akka.frameSize")
res1: String = null
可能是这个字符串不正确,但我在尝试对数据集执行take()时遇到了帧大小错误

org.apache.spark.SparkException: Job aborted due to stage failure: Serialized task 6:0 was 12518780 bytes which exceeds spark.akka.frameSize (10485760 bytes). Consider using broadcast variables for large values.

这显示默认的10米帧大小。也许我的语法错了。请帮忙。谢谢

此语法适用于spark shell:

spark-shell  --executor-memory 4g --driver-java-options "-Dspark.akka.frameSize=100"
这在Spark文档中非常不明显。显然,这仍然需要大量的工作


这是在1.0.1中。下面Josh的答案似乎适用于1.1.0+

这在Spark的配置指南中记录在:

Spark shell和Spark submit工具支持两种动态加载配置的方式。第一个是命令行选项,如上面所示的
--master
spark submit
可以使用
--conf
标志接受任何spark属性,但对在启动spark应用程序中起作用的属性使用特殊标志

例如:

./bin/spark-submit --name "My app" --master local[4] --conf spark.akka.frameSize=100 --conf "spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimeStamps" myApp.jar 

您应该使用./bin/spark submit--properties文件spark-job.conf并将所有配置放在spark-job.conf文件中。