代码之家  ›  专栏  ›  技术社区  ›  Aparna

在Azure Stream Analytics中,通过从多个窗口滑动窗口分组进行分组

  •  0
  • Aparna  · 技术社区  · 6 年前

    WITH DataInput AS 1 AS (SELECT 
        CONCAT(fqn, '_HealthIndex') AS fqn, 
        value as value,
        count(value) as cntvalue
    FROM DataInput
    GROUP BY fqn,value,SlidingWindow(Duration( hour, 8 ))
    ),
    CalcData AS
    (SELECT 
    fqn,
    count(*) as records,
    sum(value) as alm,
    100 - sum(case when cast(value as bigint)=19 and cast(cntvalue as bigint)    >    1 then 5  
      when cast(value as bigint)=23 and cast(cntvalue as bigint) > 1 then 5 
     when cast(value as bigint)=64 and cast(cntvalue as bigint) > 1 then 10 
     when cast(value as bigint)=72 and cast(cntvalue as bigint) > 1 then 10 
     when cast(value as bigint)=77 and cast(cntvalue as bigint) > 0 then 5 
     when cast(value as bigint)=78 and cast(cntvalue as bigint) > 0 then 5 
     when cast(value as bigint)=83 and cast(cntvalue as bigint) > 16 then 5 
     when cast(value as bigint)=84 and cast(cntvalue as bigint) > 16 then 5 
     when cast(value as bigint)=91 and cast(cntvalue as bigint) > 0 then 30 
     when cast(value as bigint)=92 and cast(cntvalue as bigint) > 1 then 5 
     when cast(value as bigint)=101 and cast(cntvalue as bigint) > 1 then 15    else 0 end ) as value 
    ,System.TimeStamp as t 
    from DataInput1 group by fqn,SlidingWindow(Duration( hour, 8 ))
     )
    

    任何关于CalcData为什么不只从DataInput获取输出的见解都将非常感激

    1 回复  |  直到 6 年前
        1
  •  0
  •   Hyder S M    6 年前

    这个 CalcData 步骤只是从 DataInput1 但是,您正在通过滑动窗口将事件分组 数据输入1 . 每次事件进入或离开窗口时,滑动窗口都会创建一个输出。因此,您可以在多个滑动窗口中包含一个事件。为了确保事件最多包含在一个窗口中,请考虑改用滚动窗口分组。