如何在IntelliJ Scala控制台中运行时设置Spark MemoryStore大小?

时间:2017-03-27 18:52:07

标签: scala apache-spark intellij-idea fedora-25

我在Linux 64(Fedora 25)上的Intellij(CE 2017.1)Scala Console中运行Spark代码作为脚本。我在开始时设置了SparkContext:

import org.apache.spark.{SparkConf, SparkContext}
val conf = new SparkConf().
  setAppName("RandomForest").
  setMaster("local[*]").
  set("spark.local.dir", "/spark-tmp").
  set("spark.driver.memory", "4g").
  set("spark.executor.memory", "4g")

val sc = new SparkContext(conf)

但是运行的SparkContext始终以同一行开头:

17/03/27 20:12:21 INFO SparkContext:运行Spark版本2.1.0

17/03/27 20:12:21 INFO MemoryStore:MemoryStore以容量871.6 MB开始

17/03/27 20:12:21 INFO BlockManagerMasterEndpoint:注册块管理器192.168.1.65:38119,内存为871.8 MB,BlockManagerId(驱动程序,192.168.1.65,38119,无)

Spark Web UI中的Executors选项卡显示相同的数量。 在启动之前从终端导出_JAVA_OPTIONS =“ - Xms2g -Xmx4g”也没有效果。

1 个答案:

答案 0 :(得分:6)

增加Spark MemoryStore并最终增加Web UI的存储内存Executors选项卡的唯一方法是在启动之前直接在Intellij Scala Console设置中在VM选项中添加-Xms2g -Xmx4g。

Intellij Scala Console for Spark

现在信息行打印:

17/03/27 20:12:21 INFO MemoryStore:MemoryStore以容量2004.6 MB开始

17/03/27 20:12:21 INFO BlockManagerMasterEndpoint:注册块管理器192.168.1.65:41997与2004.6 MB RAM,BlockManagerId(驱动程序,192.168.1.65,41997,无)

和Spark Web UI Executors选项卡存储内存显示2.1 GB。