Apache spark 如何在spark shell中设置spark.akka.frameSize?
对于特定的spark shell会话,我正在尝试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 -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文件中。