如何过去" N"在Dstream中处理当前批次时的秒数据

时间:2017-06-05 18:39:20

标签: spark-streaming

我是火花世界的新手。 让天气流应用程序接收以下类型的基于时间的dstream(以元组的形式):

{
  timestamp, 
  { v1, v2, v3} 
} 

其中v1 = temp,v2 =湿度,v3 = windrate

示例:{ 01/05/2016 08:01:00, { 25,4.2,10}}

现在我的要求是检查每个传入记录的温度,如果它超过35,则停止处理并将最后10分钟数据转储到hdfs进行进一步调查。

1 个答案:

答案 0 :(得分:0)

如果目标是在温度高于35的情况下保存过去10分钟内收到的所有数据,则必须执行以下步骤:

创建一个窗口值为10分钟且幻灯片持续时间为1秒的dstream,例如:dstream.window(分钟(10),秒(1))。

您将检查每秒收到的温度,如果温度> 30,将dstream存储在HDFS上(包含从batch_time收到的所有数据 - 10分钟到batch_time)。