Compartilhar via


JOIN de Dados de Referência

✅ Fluxo de eventos do Azure Stream Analytics ✅ Fabric

Em um cenário usual, usamos um mecanismo de processamento de eventos para calcular dados de streaming com latência muito baixa. Em muitos casos, os usuários precisam 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, junte meu fluxo de eventos a um conjunto de dados estático que mapeia endereços IP para locais. Esse é o único JOIN com suporte no Stream Analytics em que um limite temporal não é necessário. Os dados de referência também podem ser usados para ter valores de limite específicos do dispositivo.

Exemplo

Se um veículo comercial for registrado na Companhia de Pedágio, ele poderá passar pela cabine de pedágio sem ser parado para inspeção. Usaremos uma tabela de pesquisa de registro de veículo comercial para identificar todos os veículos comerciais com registro 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 de JOIN de dados de referência

  • O uso de Data JOIN de Referência requer que uma fonte de entrada para dados de referência seja definida.
  • Há suporte para JOIN de dados de referência para JOIN interno (padrão) e JOIN externo esquerdo, com dados de referência no lado direito do operador JOIN.
  • Os tipos de dados são um aspecto importante na avaliação do predicado de junção (ON cláusula). Valores semelhantes em diferentes tipos de dados (1.0 e "1") podem não ser correspondidos. É recomendável converter explicitamente chaves em um 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 de tempo, portanto, o fluxo no lado esquerdo precisa obter novos eventos para produzir saídas. Veja também como o tempo progride na análise de fluxo do Azure para obter mais informações.

Considerações sobre desempenho

Para evitar degradações de desempenho, os predicados de junção de referência (ON cláusula) devem ser definidos por meio de igualdades de chave simples (ON s.myKey = r.myKey). O uso de expressões complexas ou desigualdades resultará internamente em junções cruzadas seguidas por filtros (verificação completa versus pesquisa), o que pode afetar a latência geral.

Quando possível, mova essas expressões complexas para a WHERE cláusula da etapa de consulta ou junte os mesmos Dados de Referência várias vezes cada uma com condições mais simples.

Consulte Também