Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
✅ Azure Stream Analytics ✅ Fabric Eventstream
Observação
O Fabric Eventstream é construído sobre o mesmo runtime do Azure Stream Analytics. Portanto, os conceitos explicados neste artigo são aplicáveis tanto ao Azure Stream Analytics como ao Fabric Eventstream.
Cada evento em cada estágio da consulta no Azure Stream Analytics tem um carimbo de data/hora associado a ele. System.Timestamp() é uma propriedade do sistema que pode ser usada para recuperar o carimbo de data/hora do evento.
Aqui, descrevemos como o Azure Stream Analytics atribui carimbos temporais aos eventos.
Carimbo de data/hora de eventos de entrada
O carimbo de data/hora do evento de entrada pode ser definido pelo valor da coluna (ou uma expressão) especificado na cláusula TIMESTAMP BY :
SELECT System.Timestamp() t
FROM input
TIMESTAMP BY MyTimeField
Se uma cláusula TIMESTAMP BY não for especificada para uma dada entrada, a hora de chegada do evento é usada como carimbo temporal. Por exemplo, o tempo de enfileira do evento é usado quando a entrada é dos Azure Event Hubs.
Carimbo de data/hora do evento resultante
Quando os cálculos são realizados, o carimbo de data/hora do evento resultante é o primeiro momento lógico em que esse resultado pode ser determinado.
Vamos ver como as operações de consulta básicas no Azure Stream Analytics (filtros, projeções, agregações e junções) geram os carimbos de data/hora para o resultado.
Projection
SELECT
Prop1,
Prop2,
Prop3 - Prop4 / 12,
System.Timestamp() t
FROM input
As projeções não alteram o carimbo temporal do evento. O carimbo de data/hora do resultado é o mesmo que o carimbo de data/hora da entrada.
Filter
SELECT *
FROM input
WHERE prop1 > prop2
Os filtros não alteram o carimbo temporal do evento. O carimbo de data/hora do resultado é o mesmo que o carimbo de data/hora da entrada.
GROUP BY ao longo da janela de tempo
SELECT
userId,
AVG(prop1),
SUM(prop2),
System.Timestamp() t
FROM input
GROUP BY TumblingWindow(minute, 1), userId
O carimbo de data/hora do resultado da agregação é o final da janela de tempo à qual esse resultado corresponde. Consulte os artigos sobre Janelas que descrevem diferentes tipos de janelas no Azure Stream Analytics.
UNIÃO INTERIOR
SELECT
System.Timestamp()
FROM input1
JOIN input2
ON DATEDIFF(minute, input1, input2) BETWEEN 0 AND 10
Uma junção interna produz resultados que correspondem a pares correspondentes de eventos de input1 e input2.
O evento que representa a correspondência do evento e1 de input1 e e2 de input2 é carimbo de data/hora pelo mais recente dos carimbos de data/hora de e1 e e2.
JUNÇÃO EXTERIOR ESQUERDA
SELECT
System.Timestamp()
FROM input1
LEFT JOIN input2
ON DATEDIFF(minute, input1, input2) BETWEEN -2 AND 10
Uma junção esquerda-exterior produz resultados de dois tipos. Alguns correspondem a um par correspondente de eventos de input1 e input2; outros correspondem a apenas um evento de input1 e indicam que nenhum evento correspondente de input2 foi encontrado.
Os eventos que representam uma correspondência (têm tanto input1 como input2) são marcados pelo mais recente dos carimbos temporais das entradas correspondentes (tal como acontece com o INNER JOIN acima).
Os eventos que representam não-correspondências (input2 é NULL) têm carimbo temporal pela última hora lógica em que um evento correspondente de input2 poderia ter ocorrido. Por exemplo, no exemplo, é o carimbo temporal do input1 + 10 minutos.