对于特定的火花壳会话,我正在尝试
spark-shell -Dspark.akka.frameSize=10000 --executor-memory 4g
Run Code Online (Sandbox Code Playgroud)
在shell中,我得到了这个:
System.getProperty("spark.executor.memory")
res0: String = 4g
System.getProperty("spark.akka.frameSize")
res1: String = null
Run Code Online (Sandbox Code Playgroud)
可能是这个字符串不正确,但是在尝试对我的数据集执行take()时出现frameSize错误.
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.
Run Code Online (Sandbox Code Playgroud)
这显示默认10M的frameSize.也许我的语法错了.请帮忙.谢谢!
这在Spark的动态加载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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5792 次 |
| 最近记录: |