Apache Spark 主节点 URL 在 Idea IntelliJ 中运行时出错。
Apache Spark 主节点 URL 在 Idea IntelliJ 中运行时出错。
我正在使用Intellij IDEA开发Scala中的Spark应用程序。
我不确定为什么会出现下面的错误。
代码:
package batch import java.lang.management.ManagementFactory import org.apache.spark.{SparkConf, SparkContext} object BatchJob { def main(args: Array[String]): Unit = { val conf = new SparkConf() .setAppName("Lambda with Spark") val sc = new SparkContext(conf) val sourceFile = "file:///E:/Boxes/data.tsv" val input = sc.textFile(sourceFile) input.foreach(println) } }
错误:
**Exception in thread "main" org.apache.spark.SparkException: 在配置中必须设置主节点的URL**
Apache Spark是一个用于大规模数据处理的开源集群计算框架。在使用Apache Spark时,可能会遇到"Apache Spark master URL error running in IDEA IntelliJ"的问题。这个问题的出现原因是之前的答案强制将driver运行在本地,而不是使用Spark submit命令执行该driver。解决这个问题的方法是创建一个默认的配置,并检查是否定义了master。如果没有定义master,则假设是一个本地测试,并强制将master设置为local。具体的解决方法如下:
val SPARK_MASTER = "spark.master" val DEFAULT_MASTER = "local[*]" // 获取默认配置 val defaultConf = new SparkConf() // 如果没有定义master,则设置默认为local if(!defaultConf.contains(SPARK_MASTER)) defaultConf.setMaster(DEFAULT_MASTER) val sparkSession = SparkSession.builder().config(defaultConf).getOrCreate()
这样,就可以解决"Apache Spark master URL error running in IDEA IntelliJ"的问题了。