我有一个DStream“Crowd”,我想将“Crowd”中的每个元素写入套接字。当我尝试从该套接字读取时,它不会打印任何内容。我使用以下代码行:
val server = new ServerSocket(4000,200);
val conn = server.accept()
val out = new PrintStream(conn.getOutputStream());
crowd.foreachRDD(rdd => {rdd.foreach(record=>{out.println(record)})})
但是如果使用这种方法(虽然这不是我想要的):
crowd.foreachRDD(rdd => out.println(rdd))
它会向套接字中写入一些内容。
我怀疑使用rdd.foreach()存在问题,虽然它应该能够正常工作。但我不确定我错过了什么。