Método HoppingWindow(TPayload) (CepStream(TPayload), TimeSpan, TimeSpan, HoppingWindowOutputPolicy)
Transforma um fluxo em um fluxo de janela onde cada membro é um CepWindow. A janela é definida pelo tamanho constante da janela e pelas durações do tamanho de salto.
Namespace: Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (em Microsoft.ComplexEventProcessing.dll)
Sintaxe
public static CepWindowStream<CepWindow<TPayload>> HoppingWindow<TPayload>(
this CepStream<TPayload> source,
TimeSpan windowSize,
TimeSpan hopSize,
HoppingWindowOutputPolicy outputPolicy
)
Parâmetros de tipo
- TPayload
O tipo de carga do evento de entrada.
Parâmetros
- source
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
O CepStream ao qual aplicar a operação de Janela de salto.
- windowSize
Tipo: System. . :: . .TimeSpan
O comprimento da janela.
- hopSize
Tipo: System. . :: . .TimeSpan
O tamanho do salto da janela.
- outputPolicy
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .HoppingWindowOutputPolicy
Indica como os eventos de saída da operação de janela são alterados.
Valor de retorno
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepWindowStream< (Of < ( <'CepWindow< (Of < ( <'TPayload> ) > ) >> ) > ) >
Um fluxo de janela ao qual agregações, classificações ou operações definidas pelo usuário podem ser aplicadas.
Observação sobre o uso
No Visual Basic e C#, você pode chamar esse método como um método de instância em qualquer objeto do tipo CepStream< (Of < ( <'TPayload> ) > ) >. Quando usar uma sintaxe de método de instância para chamar esse método, omita o primeiro parâmetro. Para obter mais informações, consulte https://msdn.microsoft.com/pt-br/library/bb384936(v=sql.105) ou https://msdn.microsoft.com/pt-br/library/bb383977(v=sql.105).
Comentários
Usa uma política de entrada padrão que corta horas de início e término dos eventos de acordo com o tamanho da janela. Para obter mais informações, consulte Usando janelas de eventos.
Exemplos
var hoppingAgg = from w in inputStream.HoppingWindow(TimeSpan.FromHours(1),
TimeSpan.FromMinutes(10),
WindowOutputPolicy.ClipToWindowEnd)
select new { sum = w.Sum(e => e.i) };