在使用 Tumbling Window 的 azure 流分析中,如何处理前一小时的数据
Posted
技术标签:
【中文标题】在使用 Tumbling Window 的 azure 流分析中,如何处理前一小时的数据【英文标题】:In azure stream analytics using Tumbling Window, how to process data for the hour before last 【发布时间】:2019-12-09 14:23:13 【问题描述】:所以我有一个流分析工作,需要每小时计算一次……比如一个小时内状态为 1 的时间。状态值每 30 秒出现一次。我无法在查询中使用时间戳,因为我也在使用交叉引用命令。问题是一些数据迟到了。所以我想在处理数据之前等待 1 小时。我在想我可以使用
TumblingWindow(Duration(hour, 1), Offset(hour, -1))
所以我想如果查询在早上 8 点运行,它会处理从早上 6 点到 7 点传入的数据。对吗?但我看到的是,查询仍在处理上午 7 点到 8 点的数据。 我对offset的理解不正确吗??
【问题讨论】:
【参考方案1】:Offset 参数用于确定翻转窗口的对齐方式。例如,默认情况下,所有窗口都在整点开始,但您可以将偏移量设置为 30 分钟以从整点开始。 将整数小时数作为偏移量不会改变您的情况。
我认为如果你将工作分成两份会更容易——一份做 CROSS APPLY 以提取事件,另一份做时间处理。这样您就可以利用 TIMESTAMP BY 子句和时间策略来处理延迟数据。
【讨论】:
非常感谢您的回答。将作业拆分为 2 个作业将需要使用另一个 iothub,而且价格昂贵,因此我正在尝试这些选项。使用 offset(minute, -60) 是否有效,或者您的意思是说偏移量不能等于或大于提供的窗口时间??以上是关于在使用 Tumbling Window 的 azure 流分析中,如何处理前一小时的数据的主要内容,如果未能解决你的问题,请参考以下文章