java - 如何使用自定义属性初始化 SparkContext?

标签 java scala apache-spark jvm sparkcore

我正在使用 Spark-shell 学习 Spark。

当从终端运行spark-shell时,默认已经提供了一个sparkContext。我想向 Spark 上下文添加一些手动设置(例如 setMaster("local") 和 setAppName("KVApp"))。

当尝试从 Spark shell 执行此操作时,如下所示:

scala> var conf= new SparkConf().setMaster("local").setAppName("MyApp")
conf: org.apache.spark.SparkConf = org.apache.spark.SparkConf@55fb92f8

scala> val sc = new SparkContext(conf)

我收到以下错误:

org.apache.spark.SparkException: Only one SparkContext may be running 

in this JVM (see SPARK-2243). To ignore this error, set spark.driver.allowMultipleContexts = true. The currently running SparkContext was created at:
org.apache.spark.SparkContext.<init>(SparkContext.scala:82)
org.apache.spark.repl.SparkILoop.createSparkContext(SparkILoop.scala:1017)
$iwC$$iwC.<init>(<console>:15)
$iwC.<init>(<console>:24)
<init>(<console>:26)
.<init>(<console>:30)
.<clinit>(<console>)
.<init>(<console>:7)
.<clinit>(<console>)
$print(<console>)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:1065)
org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1346)
org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:840)
org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:871)

这很明显,因为在启动 Spark shell 时已经创建了 Spark 上下文。

有没有办法实现启动spark shell并带有一些自定义属性?

最佳答案

你可以这样做:

spark-shell --master "..." --name "..."

您可以运行spark-shell --help来查看所有可用选项

关于java - 如何使用自定义属性初始化 SparkContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49733685/

相关文章:

java - 积极的垃圾收集器策略

scala - Akka Actors 可以替代服务层吗?

java - scala(包)对象反编译为 java - 包含 "new ();"的静态初始值设定项 - 那是什么?

java - 启动 java Spark-streaming 应用程序时出现异常

apache-spark - Pyspark - from_unixtime 没有显示正确的日期时间

java - 如何在 apache spark 中执行 Sort JavaPairRDD

java - 注释 ConcurrentHashMap 时处于 hibernate 状态的 "Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements"

java - 寻找有效的方法将哈希表的元素提取到单个数组中

java - 微调器未正确重绘

java - 如何仅允许单个连接(url/端口)从 flink 应用程序读取和写入