获取Spark的Streaming窗口时间戳

时间:2016-06-01 12:47:25

标签: java scala apache-spark zeromq spark-streaming

我正在使用Spark-streaming以特定间隔从零MQ队列接收数据,将其丰富并将其保存为镶木地板文件。我想比较一个流媒体窗口到另一个流媒体窗口的数据。(后来使用镶木地板文件)

如何找到特定流媒体窗口的时间戳,我可以将其添加为另一个文件,同时进行丰富以便于我进行比较。

JavaStreamingContext javaStreamingContext = new JavaStreamingContext(sparkConf, new Duration(duration));
inputStream = javaStreamingContext.receiverStream(new StreamReceiver( hostName, port, StorageLevel.MEMORY_AND_DISK_SER()));
JavaDStream<myPojoFormat> enrichedData = inputStream.map(new Enricher());

简而言之,我想要每个流媒体窗口的时间戳。(不是记录级别,而是批次级别)

1 个答案:

答案 0 :(得分:3)

您可以使用获得transform参数的JavaDStream Function2方法。 Function2获取RDDTime对象并返回新的RDD。总体结果将是一个新的JavaDStream,其中RDD已根据您选择的逻辑进行了转换。