我正在使用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());
简而言之,我想要每个流媒体窗口的时间戳。(不是记录级别,而是批次级别)
答案 0 :(得分:3)
您可以使用获得transform
参数的JavaDStream
Function2
方法。 Function2
获取RDD
和Time
对象并返回新的RDD。总体结果将是一个新的JavaDStream
,其中RDD
已根据您选择的逻辑进行了转换。