我是火花世界的新手。 让天气流应用程序接收以下类型的基于时间的dstream(以元组的形式):
{
timestamp,
{ v1, v2, v3}
}
其中v1 = temp,v2 =湿度,v3 = windrate
示例:{ 01/05/2016 08:01:00, { 25,4.2,10}}
现在我的要求是检查每个传入记录的温度,如果它超过35,则停止处理并将最后10分钟数据转储到hdfs进行进一步调查。
答案 0 :(得分:0)
如果目标是在温度高于35的情况下保存过去10分钟内收到的所有数据,则必须执行以下步骤:
创建一个窗口值为10分钟且幻灯片持续时间为1秒的dstream,例如:dstream.window(分钟(10),秒(1))。
您将检查每秒收到的温度,如果温度> 30,将dstream存储在HDFS上(包含从batch_time收到的所有数据 - 10分钟到batch_time)。