在SparkSession上设置spark.driver.memory

时间:2016-09-29 04:49:32

标签: apache-spark apache-spark-mllib

尝试使用一些mllib JAVA API来运行我的一些回归工作。

我有一个很大的数据集导致了一个关于spark的stackoverflower错误。 经过研究我发现了

spark.driver.memory
需要设置

以获得额外的堆空间。 我也得到了我无法将其设置为

的一部分
SparkSession.builder().config

从那时起创建了JVM。 所以我用spark-shell创建了SparkSession。

现在驱动程序内存设置正常

Spark Properties
Name    Value
spark.app.id    local-1475122816668
spark.app.name  Spark shell
spark.driver.host   10.60.10.234
spark.driver.memory 5g
spark.driver.port   58070
spark.executor.id   driver
spark.executor.memory   5g
spark.home  C:\spark-2.0.0-bin-hadoop2.7\bin\..

现在我在期待

SparkSession.builder().getOrCreate()

根据文档

在eclipse上返回相同的会话

https://spark.apache.org/docs/latest/api/java/org/apache/spark/sql/SparkSession.html

但是收到错误

org.apache.spark.SparkException: A master URL must be set in your configuration
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:371)
    at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2256)
    at org.apache.spark.sql.SparkSession$Builder$$anonfun$8.apply(SparkSession.scala:831)
    at org.apache.spark.sql.SparkSession$Builder$$anonfun$8.apply(SparkSession.scala:823)
    at scala.Option.getOrElse(Option.scala:121)
    at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:823)

如果我在java代码上添加master

SparkSession spark = SparkSession.builder().getOrCreate()
  .builder()      
  .master("local[2]")      
  .getOrCreate();

正在使用默认内存1g创建新会话。

如何在整个上下文中设置驱动程序内存, 任何指针都将受到高度赞赏。

0 个答案:

没有答案