Referência da linguagem de consulta do Stream Analytics

o Azure Stream Analytics oferece uma linguagem de consulta de SQL para executar transformações e computações em fluxos de eventos.

Linguagem de Consulta do Stream Analytics, um subconjunto da sintaxe T-SQL

Este documento descreve a sintaxe, o uso e as práticas recomendadas da linguagem de consulta do Stream Analytics. Todos os exemplos usados neste documento são de um cenário de cabine de pedágio, conforme descrito abaixo.

A linguagem de consulta do Stream Analytics é um subconjunto da sintaxe do T-SQL padrão para fazer cálculos de Streaming.

O cenário de cabine do pedágio

As estações de pedágio são comuns e encontradas em várias estradas, pontes e túneis em todo o mundo. Cada estação de pedágio tem várias cabines, que podem ser manuais, o que significa que você deve parar para pagar o pedágio a um atendente, ou automatizado, em que um sensor que é colocado na cabine examina um cartão RFID fixado no para-brisa do seu veículo conforme você passa pelo pedágio. É fácil visualizar a passagem dos veículos por essas estações de pedágio como uma transmissão de eventos sobre quais operações interessantes podem ser executadas.

Horário de chegada x horário de aplicativo

Em qualquer sistema temporal, como o Azure Stream Analytics, é essencial compreender o andamento de tempo. Cada evento que flui pelo sistema vem com um carimbo de data/hora que pode ser acessado via System. Timestamp (). Em outras palavras, cada evento em nosso sistema representa um ponto no tempo. Esse carimbo pode também ser uma hora do aplicativo que o usuário pode especificar na consulta ou que o sistema pode atribuir com base na hora da chegada. A hora de chegada tem significados diferentes com base nas fontes de entrada. Para os eventos do hub de eventos do Azure, a hora de chegada é o carimbo de data/hora fornecido pelo hub de eventos; para o armazenamento de BLOB, é a hora da última modificação do blob. O carimbo de data e hora é o ponto no tempo que é relevante para capturar ou analisar dados. Se o usuário quiser usar uma hora do aplicativo, ele poderá fazer isso usando a palavra-chave timestamp by . No cenário anterior, é a entrada do veículo no pedágio. Para identificar o “carimbo de data e hora” no fluxo de entrada de dados, é essencial certificar-se de que a hora capturada também confirme a ocorrência de um evento. Por exemplo, se alguém está monitorando contadores de dinheiro e deseja contar o número de clientes cobrados, idealmente, o carimbo de data e hora do evento deve ser “pagamento bem-sucedido” em vez de tempo “conta gerada”.

TIMESTAMP BY

No Azure Stream Analytics, todos os eventos possuem um carimbo de data e hora bem definido. Se o usuário quiser usar a hora do aplicativo, ele poderá usar a palavra-chave TIMESTAMP BY para especificar a coluna na carga que deve ser usada para o carimbo de data/hora de cada evento de entrada para executar qualquer computação temporal como janela, junções, etc. É recomendável usar carimbo de data/hora ao longo do tempo de chegada como uma prática recomendada. O carimbo de data/hora pode ser usado em qualquer coluna do tipo DateTime e todos os formatos ISO 8601 têm suporte. System. Timestamp () só pode ser usado em Select.

Veja abaixo um exemplo de CARIMBO DE DATA E HORA POR que usa a coluna EntryTime como a hora do aplicativo para eventos:

  
SELECT TollId, EntryTime AS VehicleEntryTime, LicensePlate, State, Make, Model, VehicleType, VehicleWeight, Toll, Tag   
FROM TollTagEntry TIMESTAMP BY EntryTime  
  

Diferenciação de maiúsculas e minúsculas do nome de campo

Os nomes de campo para um trabalho criado usando o nível de compatibilidade 1,0 são alterados para letras minúsculas (não diferencia maiúsculas de minúsculas) quando processados pelo mecanismo de Azure Stream Analytics. Para formatos de entrada que dão suporte a esquema sensível a maiúsculas e minúsculas, por exemplo, JSON, você pode construir eventos que têm campos duplicados quando nomes de campo são comparados em uma maneira de não diferenciação de maiúscula Esses eventos são considerados eventos inválidos e são descartados durante o processamento.

A diferenciação de maiúsculas e minúsculas é persistida para nomes de campo quando o trabalho de Stream Analytics é criado usando o nível de compatibilidade 1,1 ou superior. Para obter mais informações, consulte o tópico Configurar nível de compatibilidade .

Nesta seção

Consulte os tópicos a seguir para obter orientação sobre como usar a linguagem de consulta do Stream Analytics.

Consulte Também