1、実用化
val sc = new SparkContext(new SparkConf().
setAppName("product3_source").
set("spark.serializer", "org.apache.spark.serializer.KryoSerializer").
set("spark.memory.useLegacyMode", "true").
set("spark.storage.memoryFraction","0.2").
set("spark.shuffle.memoryFraction","0.7")
)
図2に示すように、実際のメモリを算出します
spark.storage.safetyFractionは、セキュリティゾーンの割合を指定するには、デフォルト値は0.9で
指定されたspark.storage.memoryFractionは、デフォルト値は0.6です
0.9×0.6 = 0.54
Spark.Shuffle.safetyFraction安全面積比が指定され、パラメータのデフォルト値は0.8であり、
指定されたSpark.Shuffle.memoryFractionは、デフォルト値は、0.2であり、
0.8×0.2 = 0.16
3、spark.yarn.executor.memoryOverhead
エグゼキュータは、エグゼキュータ-memoyを超える可能性メモリを用いて行う場合には、メモリエグゼキュータの余分の部分を予約します。このメモリを表すspark.yarn.executor.memoryOverhead。
そう
executorMem=executorMemory +spark.yarn.executor.memoryOverhead