HoppingWindow(TPayload) 方法 (CepStream(TPayload), TimeSpan, TimeSpan, HoppingWindowOutputPolicy)
將資料流轉換為視窗資料流,其中每個成員都是一個 CepWindow。此視窗是由常數視窗大小和躍點大小時間範圍所定義。
命名空間: Microsoft.ComplexEventProcessing.Linq
組件: Microsoft.ComplexEventProcessing (在 Microsoft.ComplexEventProcessing.dll 中)
語法
public static CepWindowStream<CepWindow<TPayload>> HoppingWindow<TPayload>(
this CepStream<TPayload> source,
TimeSpan windowSize,
TimeSpan hopSize,
HoppingWindowOutputPolicy outputPolicy
)
型別參數
- TPayload
輸入事件裝載的類型。
參數
- source
型別:Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
要對其套用 HoppingWindow 作業的 CepStream。
- windowSize
型別:System. . :: . .TimeSpan
視窗的長度。
- hopSize
型別:System. . :: . .TimeSpan
視窗的躍點大小。
- outputPolicy
型別:Microsoft.ComplexEventProcessing.Linq. . :: . .HoppingWindowOutputPolicy
表示視窗作業輸出事件的改變方式。
傳回值
型別:Microsoft.ComplexEventProcessing.Linq. . :: . .CepWindowStream< (Of < ( <'CepWindow< (Of < ( <'TPayload> ) > ) >> ) > ) >
可以對其套用彙總、排名或使用者定義作業的視窗資料流。
使用注意事項
在 Visual Basic 及 C# 中,您可以在任何型別 CepStream< (Of < ( <'TPayload> ) > ) > 的物件上將這個方法做為執行個體方法呼叫。使用執行個體方法語法呼叫這個方法時,請省略第一個參數。如需詳細資訊,請參閱 https://msdn.microsoft.com/zh-tw/library/bb384936(v=sql.105) 或 https://msdn.microsoft.com/zh-tw/library/bb383977(v=sql.105)。
備註
使用預設輸入原則,它會將事件的開始和結束時間裁剪成視窗大小。如需詳細資訊,請參閱<使用事件視窗>。
範例
var hoppingAgg = from w in inputStream.HoppingWindow(TimeSpan.FromHours(1),
TimeSpan.FromMinutes(10),
WindowOutputPolicy.ClipToWindowEnd)
select new { sum = w.Sum(e => e.i) };