繁体   English   中英

流分析事件中心输出

[英]Stream Analytics Event Hub Output

以下Stream Analytics Query以10秒的Sliding Window间隔对按IP地址分组的事件数进行计数:

Select
    Min(Time) as FirstHit,
    Max(Time) as LastHit, 
    Count(*) as Total, 
    IPAddress
From
    Input Partition By PartitionId TimeStamp By Time
Group By 
    SlidingWindow(second, 10), IPAddress, PartitionId
Having
    Total >= 10

生成的聚合将输出到Event Hub

以下10个简单对象的JSON有效负载(在10秒的窗口内,彼此之间精确间隔1秒)将发布到Stream Analytics ,由上述Query

[{
    "IPAddress": "192.168.0.10",
    "Time": "2016-09-02T11:40:01"
}, {
    "IPAddress": "192.168.0.10",
    "Time": "2016-09-02T11:40:02"
}, {
    "IPAddress": "192.168.0.10",
    "Time": "2016-09-02T11:40:03"
}, {
    "IPAddress": "192.168.0.10",
    "Time": "2016-09-02T11:40:04"
}, {
    "IPAddress": "192.168.0.10",
    "Time": "2016-09-02T11:40:05"
}, {
    "IPAddress": "192.168.0.10",
    "Time": "2016-09-02T11:40:06"
}, {
    "IPAddress": "192.168.0.10",
    "Time": "2016-09-02T11:40:07"
}, {
    "IPAddress": "192.168.0.10",
    "Time": "2016-09-02T11:40:08"
}, {
    "IPAddress": "192.168.0.10",
    "Time": "2016-09-02T11:40:09"
}, {
    "IPAddress": "192.168.0.10",
    "Time": "2016-09-02T11:40:10"
}]

Stream Analytics作业和Event Hub实例都是新实例。

尽管事件有效负载符合Query条件,但Stream Analytics不会输出相应的事件。

但是,在发出第二个请求后,将相同的有效负载发布到Stream Analytics ,将创建带有正确的元数据的输出事件。

我的配置是否存在差异,或者Stream Analytics某种引导程序/热身/偏移功能导致有效载荷被忽略?

我的猜测是您正在按照以下顺序进行交互:

  1. 事件发送到中心。
  2. StreamAnalytics作业从当前时间开始。
  3. 其他事件将发送到中心。

作为EventHub流,它没有当前时间的概念, StreamAnalytics需要正确的偏移量才能开始处理事件。

如果您提供更多详细信息,我们可以确认这一点或进一步调查问题。

根据我的评论,从门户网站StreamAnalytics的输入刀片中,您可以对输入中的数据进行采样并将其提供给查询,以确保您期望的结果在那里(时间窗口将被忽略,但是您可以只需先从输入中采样所需的时间窗口即可)。

另外,当您指定TIMESTAMP BY子句时,请确保您的输入配置为无序事件的容差,以防无法保证您的订单( https://msdn.microsoft.com/zh-cn/library/azure/ mt674682.aspx )。

有关输入的延迟到/缺货设置的更多详细信息: https : //blogs.msdn.microsoft.com/streamanalytics/2015/05/17/out-of-order-events/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM