use*_*158 6 apache-spark apache-spark-mllib
尝试一些 mllib JAVA API 来运行我的一些回归作业。
我有一个大数据集,导致 Spark 出现堆栈溢出错误。经过研究我发现
spark.driver.memory
Run Code Online (Sandbox Code Playgroud)
需要设置以获得额外的堆空间。我还得到了我无法将其设置为的一部分
SparkSession.builder().config
Run Code Online (Sandbox Code Playgroud)
到那时 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\..
Run Code Online (Sandbox Code Playgroud)
现在我正期待着
SparkSession.builder().getOrCreate()
Run Code Online (Sandbox Code Playgroud)
根据文档在 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)
Run Code Online (Sandbox Code Playgroud)
如果我在java代码上添加master
SparkSession spark = SparkSession.builder().getOrCreate()
.builder()
.master("local[2]")
.getOrCreate();
Run Code Online (Sandbox Code Playgroud)
它正在创建默认内存 1g 的新会话。
我如何在整个上下文中设置驱动程序内存,任何指针都将受到高度赞赏。
| 归档时间: |
|
| 查看次数: |
3932 次 |
| 最近记录: |