Metodo TumblingWindow(TPayload) (CepStream(TPayload), TimeSpan, DateTime, WindowInputPolicy, HoppingWindowOutputPolicy)
Trasforma un flusso in un flusso della finestra in cui ciascun membro è un oggetto CepWindow. Una finestra a cascata è un tipo speciale di finestra di salto in cui le dimensioni della finestra e le dimensioni hop sono uguali. È inoltre possibile fornire un'ora di allineamento come riferimento per il punto iniziale della finestra.
Spazio dei nomi Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (in Microsoft.ComplexEventProcessing.dll)
Sintassi
public static CepWindowStream<CepWindow<TPayload>> TumblingWindow<TPayload>(
this CepStream<TPayload> source,
TimeSpan windowSize,
DateTime alignment,
WindowInputPolicy inputPolicy,
HoppingWindowOutputPolicy outputPolicy
)
Parametri di tipo
- TPayload
Tipo di payload dell'evento di input.
Parametri
- source
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Oggetto CepStream rispetto al quale applicare l'operazione TumblingWindow.
- windowSize
Tipo: System. . :: . .TimeSpan
Lunghezza e dimensioni hop della finestra.
- alignment
Tipo: System. . :: . .DateTime
Ora di riferimento per l'allineamento delle ore di inizio della finestra.
- inputPolicy
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .WindowInputPolicy
Indica in che modo vengono modificati gli eventi prima di essere inseriti nell'operazione della finestra.
- outputPolicy
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .HoppingWindowOutputPolicy
Indica in che modo vengono modificati gli eventi di output dell'operazione della finestra
Valore restituito
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepWindowStream< (Of < ( <'CepWindow< (Of < ( <'TPayload> ) > ) >> ) > ) >
Flusso di finestre al quale possono essere applicati aggregazioni, ordinamento per rango oppure operazioni definite dall'utente.
Nota sull'utilizzo
In Visual Basic e C# questo metodo può essere chiamato come metodo di istanza su qualsiasi oggetto di tipo CepStream< (Of < ( <'TPayload> ) > ) >. Quando si utilizza la sintassi del metodo di istanza per chiamare questo metodo, omettere il primo parametro. Per ulteriori informazioni, vedere https://msdn.microsoft.com/it-it/library/bb384936(v=sql.105) o https://msdn.microsoft.com/it-it/library/bb383977(v=sql.105).
Osservazioni
Per ulteriori informazioni, vedere Utilizzo delle finestre di eventi e Finestre di salto.
Esempi
var tumblingAgg = from w in inputStream.TumblingWindow(TimeSpan.FromHours(1),
HoppingWindowOutputPolicy.ClipToWindowEnd)
select new { sum = w.Sum(e => e.i) };
L'allineamento a salto (o a cascata) della finestra è un parametro facoltativo. Nell'esempio seguente ogni finestra inizia e finisce alle 9.00 (ora UTC).
var snapshotAgg = from w in inputStream.TumblingWindow(
TimeSpan.FromHours(24),
new DateTime(TimeSpan.FromHours(9).Ticks, DateTimeKind.Utc),
HoppingWindowOutputPolicy.ClipToWindowEnd)
select new { sum = w.Sum(e => e.i) };