线程 "main" org.apache.spark.SparkException 中的异常:此 JVM 中只有一个 SparkContext 可能是 运行(请参阅 SPARK-2243)
Exception in thread "main" org.apache.spark.SparkException: Only one SparkContext may be running in this JVM (see SPARK-2243)
我在尝试 运行 使用 cassandra 的 spark 应用程序时遇到错误。
Exception in thread "main" org.apache.spark.SparkException: Only one SparkContext may be running in this JVM (see SPARK-2243).
我正在使用 spark 1.2.0 版,很明显我在我的应用程序中只使用了一个 spark 上下文。但是每当我尝试添加以下代码用于流式传输时,我都会收到此错误。
JavaStreamingContext activitySummaryScheduler = new JavaStreamingContext(
sparkConf, new Duration(1000));
您一次只能有一个 SparkContext,并且由于 StreamingContext 中有一个 SparkContext,您不能在同一代码中有单独的 Streaming 和 Spark Context。您可以做的是从您的 SparkContext 构建一个 StreamingContext,这样您就可以在确实需要时访问两者。
使用这个构造函数
JavaStreamingContext(sparkContext: JavaSparkContext, batchDuration: Duration)
在这里查看第二个代码片段
enter link description here
你的代码应该是这样的
import org.apache.spark.streaming.api.java.*;
JavaSparkContext existingSparkContext = ... //existing JavaSparkContext
JavaStreamingContext activitySummaryScheduler = new JavaStreamingContext(existingSparkContext, Durations.seconds(1000));
一种方法如下:
SparkConf sparkConf = new SparkConf().setAppName("Example Spark App").setMaster("local[*]");
JavaSparkContext jssc = new JavaSparkContext(sparkConf);
JavaStreamingContext jsc = new JavaStreamingContext(jssc, new Duration(1));
我在尝试 运行 使用 cassandra 的 spark 应用程序时遇到错误。
Exception in thread "main" org.apache.spark.SparkException: Only one SparkContext may be running in this JVM (see SPARK-2243).
我正在使用 spark 1.2.0 版,很明显我在我的应用程序中只使用了一个 spark 上下文。但是每当我尝试添加以下代码用于流式传输时,我都会收到此错误。
JavaStreamingContext activitySummaryScheduler = new JavaStreamingContext(
sparkConf, new Duration(1000));
您一次只能有一个 SparkContext,并且由于 StreamingContext 中有一个 SparkContext,您不能在同一代码中有单独的 Streaming 和 Spark Context。您可以做的是从您的 SparkContext 构建一个 StreamingContext,这样您就可以在确实需要时访问两者。
使用这个构造函数
JavaStreamingContext(sparkContext: JavaSparkContext, batchDuration: Duration)
在这里查看第二个代码片段 enter link description here
你的代码应该是这样的
import org.apache.spark.streaming.api.java.*;
JavaSparkContext existingSparkContext = ... //existing JavaSparkContext
JavaStreamingContext activitySummaryScheduler = new JavaStreamingContext(existingSparkContext, Durations.seconds(1000));
一种方法如下:
SparkConf sparkConf = new SparkConf().setAppName("Example Spark App").setMaster("local[*]");
JavaSparkContext jssc = new JavaSparkContext(sparkConf);
JavaStreamingContext jsc = new JavaStreamingContext(jssc, new Duration(1));