尝试使用一些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创建新会话。
如何在整个上下文中设置驱动程序内存, 任何指针都将受到高度赞赏。