Ana*_*ari 21 java apache-spark spark-streaming
我正在尝试使用Twitter作为源执行Spark Streaming示例,如下所示:
public static void main (String.. args) {
SparkConf conf = new SparkConf().setAppName("Spark_Streaming_Twitter").setMaster("local");
JavaSparkContext sc = new JavaSparkContext(conf);
JavaStreamingContext jssc = new JavaStreamingContext(sc, new Duration(2));
JavaSQLContext sqlCtx = new JavaSQLContext(sc);
String[] filters = new String[] {"soccer"};
JavaReceiverInputDStream<Status> receiverStream = TwitterUtils.createStream(jssc,filters);
jssc.start();
jssc.awaitTermination();
}
Run Code Online (Sandbox Code Playgroud)
但我得到以下例外
Exception in thread "main" java.lang.AssertionError: assertion failed: No output streams registered, so nothing to execute
at scala.Predef$.assert(Predef.scala:179)
at org.apache.spark.streaming.DStreamGraph.validate(DStreamGraph.scala:158)
at org.apache.spark.streaming.StreamingContext.validate(StreamingContext.scala:416)
at org.apache.spark.streaming.StreamingContext.start(StreamingContext.scala:437)
at org.apache.spark.streaming.api.java.JavaStreamingContext.start(JavaStreamingContext.scala:501)
at org.learning.spark.TwitterStreamSpark.main(TwitterStreamSpark.java:53)
Run Code Online (Sandbox Code Playgroud)
有任何建议如何解决这个问题?
Jig*_*ekh 39
调用输出运算符时,它会触发流的计算.
如果没有DStream上的输出操作符,则不会调用任何计算.基本上你需要在流上调用以下任何方法
print()
foreachRDD(func)
saveAsObjectFiles(prefix, [suffix])
saveAsTextFiles(prefix, [suffix])
saveAsHadoopFiles(prefix, [suffix])
Run Code Online (Sandbox Code Playgroud)
http://spark.apache.org/docs/latest/streaming-programming-guide.html#output-operations
您也可以先应用任何转换,然后根据需要输出函数.
| 归档时间: |
|
| 查看次数: |
19218 次 |
| 最近记录: |