Scala Spark StreamingContext错误
嗨,我开始学习spark流媒体,但我不能运行一个简单的应用程序 我的密码在这里Scala Spark StreamingContext错误,scala,apache-spark,spark-streaming,Scala,Apache Spark,Spark Streaming,嗨,我开始学习spark流媒体,但我不能运行一个简单的应用程序 我的密码在这里 import org.apache.spark._ import org.apache.spark.streaming._ import org.apache.spark.streaming.StreamingContext._ val conf = new SparkConf().setMaster("spark://beyhan:7077").setAppName("Network
import org.apache.spark._
import org.apache.spark.streaming._
import org.apache.spark.streaming.StreamingContext._
val conf = new SparkConf().setMaster("spark://beyhan:7077").setAppName("NetworkWordCount")
val ssc = new StreamingContext(conf, Seconds(1))
val lines = ssc.socketTextStream("localhost", 9999)
val words = lines.flatMap(_.split(" "))
我得到的错误如下
scala> val newscc = new StreamingContext(conf, Seconds(1))
15/10/21 13:41:18 WARN SparkContext: Another SparkContext is being constructed (or threw an exception in its constructor). This may indicate an error, since only one SparkContext may be running in this JVM (see SPARK-2243). The other SparkContext was created at:
谢谢如果您使用的是spark shell,而且看起来确实如此,那么您不应该使用
SparkConf
对象实例化StreamingContext
,您应该直接传递shell提供的sc
这意味着:
val conf = new SparkConf().setMaster("spark://beyhan:7077").setAppName("NetworkWordCount")
val ssc = new StreamingContext(conf, Seconds(1))
变成
val ssc = new StreamingContext(sc, Seconds(1))
如果您使用的是spark shell,并且看起来确实如此,那么不应该使用
SparkConf
对象实例化StreamingContext
,应该直接传递shell提供的sc
这意味着:
val conf = new SparkConf().setMaster("spark://beyhan:7077").setAppName("NetworkWordCount")
val ssc = new StreamingContext(conf, Seconds(1))
变成
val ssc = new StreamingContext(sc, Seconds(1))
看起来你是在火星壳里工作的。 那里已经为您定义了SparkContext,因此您不需要创建新的SparkContext。shell中的SparkContext可作为
sc
如果需要StreamingContext,可以使用现有SparkContext创建一个:
val ssc = new StreamingContext(sc, Seconds(1))
如果创建应用程序,您只需要SparkConf和SparkContext。看起来您在Spark Shell中工作。 那里已经为您定义了SparkContext,因此您不需要创建新的SparkContext。shell中的SparkContext可作为
sc
如果需要StreamingContext,可以使用现有SparkContext创建一个:
val ssc = new StreamingContext(sc, Seconds(1))
如果您创建应用程序,您只需要SparkConf和SparkContext。谢谢您的回复您的答案是正确的。:)但是,当我想在sbt包上运行此命令时,我遇到了另一个问题,我收到了此错误/MyApp.scala:20:对象流不是包org.apache.spark的成员[error]导入org.apache.spark.Streaming.\u感谢您的回复,您的答案是正确的。:)但是,当我想在sbt包上运行此命令时,我遇到了另一个问题,我收到了此错误/MyApp.scala:20:对象流不是包org.apache.spark的成员[error]导入org.apache.spark.Streaming.\u谢谢您的回复,您的答案是正确的。:)但是,当我想在sbt包上运行此命令时,我遇到了另一个问题,我收到了此错误/MyApp.scala:20:对象流不是包org.apache.spark[error]import org.apache.spark.Streaming的成员。\u您应该参考。基本上,将
libraryDependencies+=“org.apache.spark”%%“spark streaming”%%“1.5.1”添加到您的build.sbt`。在你问之前请先搜索!还应将其添加为提供的依赖项,由于spark streaming LIB由spark本身提供,因此不需要包含在程序集中。谢谢您的回复,您的答案是正确的。:)但当我想在sbt软件包上运行此命令时,我遇到了另一个问题,我收到了以下错误/MyApp.scala:20:对象流不是包org.apache.spark的成员[error]导入org.apache.spark.Streaming.\u您应该参考。基本上,将libraryDependencies+=“org.apache.spark”%%“spark streaming”%%“1.5.1”添加到您的build.sbt`。在你问之前请先搜索!您还应该将其添加为提供的依赖项,因为spark流媒体库由spark本身提供,因此不需要包含在程序集jar中