Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
✅ Flusso di eventi dell'infrastruttura di Analisi ✅ di flusso di Azure
In uno scenario consueto si usa un motore di elaborazione eventi per calcolare i dati di streaming con una latenza molto bassa. In molti casi, gli utenti devono correlare i dati cronologici persistenti o un set di dati a modifica lenta (ovvero i dati di riferimento) con il flusso di eventi in tempo reale per prendere decisioni più intelligenti sul sistema. Ad esempio, aggiungere il flusso di eventi a un set di dati statico che esegue il mapping degli indirizzi IP alle posizioni. Questo è l'unico JOIN supportato in Analisi di flusso in cui non è necessario un limite temporale. I dati di riferimento possono essere usati anche per avere valori soglia specifici del dispositivo.
Esempio
Se un veicolo commerciale è registrato presso la Toll Company, può passare attraverso il casello senza essere fermato per l'ispezione. Useremo una tabella di ricerca di registrazione veicoli commerciali per identificare tutti i veicoli commerciali con registrazione scaduta.
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'
Particolarità di Join dati di riferimento
- L'uso di Reference Data JOIN richiede che sia definita un'origine di input per i dati di riferimento.
- I dati di riferimento JOIN sono supportati per inner JOIN (impostazione predefinita) e left outer JOIN, con dati di riferimento sul lato destro dell'operatore JOIN.
- I tipi di dati sono un aspetto importante nella valutazione del predicato di join (
ON
clausola ). È possibile che i valori simili in tipi di dati diversi (1.0
e"1"
) non corrispondano. È consigliabile convertire esplicitamente le chiavi in un tipo comune. - I dati di riferimento possono essere statici (caricati una sola volta) o dinamici (aggiornati regolarmente). Tuttavia, anche nel caso dinamico, i dati di riferimento non effettuano lo stato di avanzamento, quindi il flusso sul lato sinistro deve ottenere nuovi eventi per produrre output. Per altre informazioni, vedere anche l'avanzamento del tempo nell'analisi di flusso di Azure .
Considerazioni sulle prestazioni
Per evitare riduzioni delle prestazioni, è necessario definire predicati di join di riferimento (ON
clausola) tramite semplici equalità di chiave (ON s.myKey = r.myKey
). L'uso di espressioni complesse o disuguaglianze comporta internamente cross join seguiti da filtri (analisi completa e ricerca), che possono influire negativamente sulla latenza complessiva.
Quando possibile, spostare queste espressioni complesse nella WHERE
clausola del passaggio di query o unire più volte gli stessi dati di riferimento con condizioni più semplici.