ASSOCIAÇÃO a Dados de Referência (Azure Stream Analytics)

Num cenário habitual, utilizamos um motor de processamento de eventos para calcular dados de transmissão em fluxo com latência muito baixa. Em muitos casos, os utilizadores precisam de correlacionar dados históricos persistentes ou um conjunto de dados de alteração lenta (também conhecido como dados de referência) com o fluxo de eventos em tempo real para tomar decisões mais inteligentes sobre o sistema. Por exemplo, associe o meu fluxo de eventos a um conjunto de dados estático que mapeia Endereços IP para localizações. Este é o único JOIN suportado no Stream Analytics em que não é necessário um limite temporal. Os dados de referência também podem ser utilizados para ter valores de limiar específicos do dispositivo.

Exemplo

Se um veículo comercial estiver registado na Companhia de Portagens, pode passar pela portagem sem ser parado para inspeção. Vamos utilizar uma tabela de referência de registo de veículos comerciais para identificar todos os veículos comerciais com registo expirado.

SELECT I1.EntryTime, I1.LicensePlate, I1.TollId, R.RegistrationId  
FROM Input1 I1 TIMESTAMP BY EntryTime  
JOIN Registration R  
ON I1.LicensePlate = R.LicensePlate  
WHERE R.Expired = '1'

Particularidades da Associação a Dados de Referência

  • A utilização da ASSOCIAção a Dados de Referência requer que seja definida uma origem de entrada para Dados de Referência.
  • Os dados de referência JOIN são suportados para JOIN interior (predefinição) e JOIN exterior esquerdo, com dados de referência no lado direito do operador JOIN.
  • Os tipos de dados são um aspeto importante na avaliação do predicado de associação (ON cláusula). Os valores semelhantes em diferentes tipos de dados (1.0 e "1") podem não ser correspondidos. Recomenda-se converter explicitamente chaves num tipo comum.
  • Os dados de referência podem ser estáticos (carregados apenas uma vez) ou dinâmicos (atualizados regularmente). No entanto, mesmo no caso dinâmico, os dados de referência não fazem o progresso do tempo, pelo que o fluxo no lado esquerdo precisa de obter novos eventos para produzir saídas. Veja também como o tempo progride no Azure Stream Analytics para obter mais informações.

Considerações de desempenho

Para evitar degradaçãos de desempenho, os predicados de associação de referência (ON cláusula) devem ser definidos através de igualdades de chaves simples (ON s.myKey = r.myKey). A utilização de expressões complexas, ou desigualdades, resultará internamente em associações cruzadas seguidas de filtros (análise completa vs. pesquisa), o que pode afetar a latência geral.

Sempre que possível, mova estas expressões complexas para a WHERE cláusula do passo de consulta ou associe os mesmos Dados de Referência várias vezes cada uma com condições mais simples.

Consulte também