0
我收到有几行,并在Java中使用该命令在星火流属性一个JSON输入:如何保持一个JSON结构,当我把它给星火流
JavaReceiverInputDStream <String>
lines = ssc.socketTextStream
(localhost, port)
我现在想过滤线条流,以便它在每一行中只有两个特定的属性,并转储其余的。
这里的问题是,我注意到,行不留JSON结构,即,我不能只是做
JavaDstream<String> line=lines[1];
line.print() ;
我的问题是,如何才能让我的JavaDStream保持结构的JSON对象,然后打印我想要的行?
我希望我很清楚,谢谢。
亲爱的苏尼尔的JSON消息n字符, 谢谢您的回答。但它不完全是我想要的。我想要的是这样的: 我有一个JSON文件,我发送到Spark Streaming使用socketTextStream,称为'线'。如果我想打印整个'行'dstream,我只是做lines.print,它的工作原理。 但是,如果我想打印一个特定的属性值(例如第一行中的第一个属性的值,[1,1]行,我不能。 我该怎么做? –
Basicaly我想要一个line对应于流中的一个RDD –
如果您对将JSON文件转换为Stream感兴趣,您可能需要使用SparkStreamingContext.textFileStream(directoryToMonitor)的sparkStream概念,它的工作方式是可以监视特定HDFS目录中的文件当出现一个新的JSON文件时,Spark会将它转换为RDD,你可以在http://wpcertification.blogspot.com/2016/01/monitoring-hdfs-directory-for-new-files.html –