获取 Spark 的流式处理窗口时间戳



我正在使用Spark流以特定间隔从零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());

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

您可以使用transform方法获取 Function2 s 参数的 JavaDStreamFunction2获取一个RDD和一个Time对象,并返回一个新的RDD。总体结果将是一个新的JavaDStream,其中RDD按照您选择的逻辑进行变形。

最新更新