JavaDStream将lambda中的RDD打印到控制台
我是spark的新手,我正在尝试创建简单的JavaDStream,用于使用spark测试基础API测试我的工作。到目前为止,我所做的是:JavaDStream将lambda中的RDD打印到控制台,java,spring,apache-spark,Java,Spring,Apache Spark,我是spark的新手,我正在尝试创建简单的JavaDStream,用于使用spark测试基础API测试我的工作。到目前为止,我所做的是: JavaStreamingContext streamingContext = new JavaStreamingContext(jsc(),Durations.seconds(10)); List<String> list = new LinkedList<String>(); list.
JavaStreamingContext streamingContext = new
JavaStreamingContext(jsc(),Durations.seconds(10));
List<String> list = new LinkedList<String>();
list.add("first");
list.add("second");
list.add("third");
JavaRDD<String> myVeryOwnRDD = jsc().parallelize(list);
Queue<JavaRDD<String>> queue = new LinkedList<JavaRDD<String>>();
queue.add( myVeryOwnRDD );
JavaDStream<String> javaDStream = streamingContext.queueStream( queue );
javaDStream.foreachRDD( x-> {
x.collect().stream().forEach(n-> System.out.println("item of list: "+n));
});
我想您需要启动流媒体上下文
streamingContext.start()
我想您需要启动流媒体上下文
streamingContext.start()
成功了!我还需要将streamingContext.stop()更改为.awaitTermination(谢谢@maasg您可以将其添加为答案,以便我可以将其标记为答案,从而将问题标记为已回答。为其他贡献者节省时间。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = config.class)
public class myTester extends SharedJavaSparkContext implements Serializable{
streamingContext.start()