我对Spark非常陌生。对于我的项目,我需要合并来自不同端口上不同流的数据。为了测试我是否进行了练习,目的是打印来自不同端口的流中的数据。在下面您可以看到代码:

object hello {
  def main(args: Array[String]) {

    val ssc = new StreamingContext(new SparkConf(), Seconds(2))
    val lines9 = ssc.socketTextStream("localhost", 9999)
    val lines8 = ssc.socketTextStream("localhost", 9998)

    lines9.print()
    lines8.print()

    ssc.start()
    ssc.awaitTermination()
  }
}

然后,我运行这些代码并启动nc -lk 9999和nc -lk9998。当我在端口9999上放置任何内容时,我看到Spark的输出正常。当我在9998上放任何东西时,看不到任何输出。

您能否解释一下为什么9998上没有输出,我应该如何实现将这两个流合并?

最佳答案

您可以使用这种(Dstream1.union(Dstream2))方法来合并您的Dstream。它将返回一个新的Dstream。

10-05 19:05