如何运行本地Spark 2.x会话?

Mak*_*e42 5 scala intellij-idea apache-spark

出于测试目的,我希望Spark 2.x以本地模式运行.我怎样才能做到这一点?我可以这样做吗?目前我写的是main:

val spark = SparkSession
  .builder
  .appName("RandomForestClassifierExample")
  .getOrCreate()
Run Code Online (Sandbox Code Playgroud)

并在IntelliJ中运行main,但是我得到了错误

org.apache.spark.SparkException: A master URL must be set in your configuration
Run Code Online (Sandbox Code Playgroud)

我想我需要运行一些本地实例或设置本地模式或类似的东西.我该怎么办?

Tza*_*har 9

您应该.master(..)在调用之前配置getOrCreate:

val spark = SparkSession.builder
  .master("local")
  .appName("RandomForestClassifierExample")
  .getOrCreate()
Run Code Online (Sandbox Code Playgroud)

"local"意味着Spark的所有组件(主服务器,执行程序)将在运行此代码的单个JVM中本地运行(非常方便测试,几乎与现实场景无关).在此处阅读有关其他"主"选项的更多信息.