利用IDEA进行Java环境下的Spark开发时,代码运行报错:
Exception in thread "main" org.apache.spark.SparkException: A master URL must be set in your configuration
这里提示需要配置master url。
master url表示集群管理器的地址,决定了spark应用的运行模式,官方定义是:
Sets the Spark master URL to connect to, such as "local" to run locally, "local[4]" to run locally with 4 cores, or "spark://master:7077" to run on a Spark standalone cluster.
即存在三种定义:
- local:在本地运行
- local[n]:本地运行,使用n个核
- spark://master:7077:在Spark standalone集群中运行
该报错可以通过两种方式解决。
第一种方案
直接在spark会话中添加该配置:
SparkSession spark = SparkSession.builder().appName("demo").master("local").getOrCreate();
上面的配置指明spark应用是本地运行的。
第二种方案
在Run/Debug Configurations中Add VM options,并配置:
-Dspark.master=local