我正在尝试构建一个读取unix实用程序输出流的Spark Streaming应用程序。从stdin创建DStream的最佳方法是什么?如何将外部实用程序的流输出重定向/管道传输到Spark Streaming DStream?我使用Scala,并且我意识到rdd.pipe()可能没有帮助,因为它适用于首先从rdd读取的命令。谢谢!
我的原始问题已发布到Spark用户的邮件列表:http://apache-spark-user-list.1001560.n3.nabble.com/Spark-Streaming-reads-from-stdin-or-output-from-command-line-utility-td23289.html
答案 0 :(得分:0)
你可以在linux中使用netcat命令。将你的程序输出管道输出到netcat。
./your-executable | nc -l <portnumber>
然后您可以使用相同的端口号
创建DStream ssc.socketTextStream(cassandraHost, portNum)