Analisi di flusso e Power BI: un dashboard di analisi in tempo reale per il flusso di dati
Analisi di flusso di Azure permette di usare uno dei principali strumenti di Business Intelligence, Microsoft Power BI. Questo articolo illustra come creare strumenti di Business Intelligence usando Power BI come output per i processi di Analisi di flusso di Azure. Si apprenderà anche come creare e usare un dashboard in tempo reale che viene aggiornato continuamente dal processo di Analisi di flusso.
Questo articolo continua dall'esercitazione sul rilevamento delle frodi in tempo reale in Analisi di flusso. Esso si basa sul flusso di lavoro creato in tale esercitazione e aggiunge un output di Power BI in modo che sia possibile visualizzare le chiamate telefoniche fraudolente rilevate da un processo di Analisi di flusso.
È possibile guardare un video che illustra questo scenario.
Prerequisiti
Prima di iniziare, verificare di disporre degli elementi seguenti:
- Un account Azure.
- Un account per Power BI Pro. È possibile usare un account aziendale o dell'istituto di istruzione.
- Una versione completata dell'esercitazione sul rilevamento delle frodi in tempo reale. L'esercitazione include un'app che genera metadati di telefonate fittizie. Nell'esercitazione si crea un hub eventi e si inviano i dati delle telefonate all'hub eventi. Si scrive una query che rileva le chiamate fraudolente (chiamate effettuate dallo stesso numero nello stesso momento da posizioni diverse).
Aggiungere l’output Power BI
Nell'esercitazione sul rilevamento delle frodi in tempo reale l'output viene inviato all'archiviazione BLOB di Azure. In questa sezione si aggiunge un output che invia informazioni a Power BI.
Nel portale di Azure aprire il processo di Analisi di flusso creato in precedenza. Se si usa il nome suggerito, il processo è denominato
sa_frauddetection_job_demo
.Nel menu a sinistra selezionare Output in Topologia processo. Selezionare quindi + Aggiungi e scegliere Power BI dal menu a discesa.
Selezionare + Aggiungi>Power BI. Compilare quindi il modulo con i dettagli seguenti e selezionare Autorizza per usare la propria identità utente per connettersi a Power BI (il token è valido per 90 giorni).
Nota
Per i processi di produzione, è consigliabile connettersi per usare l'identità gestita per autenticare il processo di Analisi di flusso di Azure per Power BI.
Impostazione | Valore consigliato |
---|---|
Alias di output | CallStream-PowerBI |
Nome del set di dati | sa-dataset |
Nome tabella | fraudulent-calls |
Avviso
Se Power BI dispone di un set di dati e di una tabella con gli stessi nomi specificati nel processo di Analisi di flusso, i dati esistenti vengono sovrascritti. È consigliabile non creare in modo esplicito il set di dati e la tabella nell'account di Power BI. Vengono creati automaticamente quando il processo di Analisi di flusso viene avviato e inizia a generare output in Power BI. Se la query del processo non restituisce risultati, il set di dati e la tabella non vengono creati.
Quando si seleziona Autorizza, viene visualizzata una finestra popup in cui viene chiesto di fornire le credenziali per l'autenticazione dell'account di Power BI. Una volta completato il processo di autorizzazione, fare clic su Salva per salvare le impostazioni.
Fare clic su Crea.
Il set di dati viene creato con le impostazioni seguenti:
- defaultRetentionPolicy: BasicFIFO: dati FIFO, con un massimo di 200.000 righe.
- defaultMode: ibrido: il set di dati supporta entrambi i riquadri di streaming (noti anche come push) e gli oggetti visivi tradizionali basati su report. Per il contenuto push, i dati vengono aggiornati continuamente dal processo di analisi di flusso in questo caso, senza dover pianificare l'aggiornamento dal lato Power BI.
Attualmente non è possibile creare set di dati con altri flag.
Per altre informazioni sui set di dati di Power BI, vedere le informazioni di riferimento sull'API REST di Power BI.
Scrivere la query
Chiudere il pannello Output e tornare al pannello del processo.
Fare clic sulla casella Query.
Immettere la query seguente. Questa query è simile alla query self-join che è stata creata nell'esercitazione sul rilevamento delle frodi. La differenza è che questa query invia i risultati al nuovo output creato (
CallStream-PowerBI
).Nota
Se non è stato assegnato un nome all'input
CallStream
nell'esercitazione sul rilevamento delle frodi, sostituire il nome perCallStream
nelle clausole FROM e JOIN della query./* Our criteria for fraud: Calls made from the same caller to two phone switches in different locations (for example, Australia and Europe) within five seconds */ SELECT System.Timestamp AS WindowEnd, COUNT(*) AS FraudulentCalls INTO "CallStream-PowerBI" FROM "CallStream" CS1 TIMESTAMP BY CallRecTime JOIN "CallStream" CS2 TIMESTAMP BY CallRecTime /* Where the caller is the same, as indicated by IMSI (International Mobile Subscriber Identity) */ ON CS1.CallingIMSI = CS2.CallingIMSI /* ...and date between CS1 and CS2 is between one and five seconds */ AND DATEDIFF(ss, CS1, CS2) BETWEEN 1 AND 5 /* Where the switch location is different */ WHERE CS1.SwitchNum != CS2.SwitchNum GROUP BY TumblingWindow(Duration(second, 1))
Fare clic su Salva.
Testare la query
Questa sezione è facoltativa ma consigliata.
Se l'app TelcoStreaming non è attualmente in esecuzione, avviarla seguendo questa procedura:
Aprire il prompt dei comandi.
Passare alla cartella in cui si trovano il file telcogenerator.exe e il file modificato telcodatagen.exe.config.
Eseguire il comando seguente:
telcodatagen.exe 1000 .2 2
Nella pagina Query del processo di Analisi di flusso fare clic sui puntini di sospensione accanto all'input
CallStream
e quindi selezionare Carica dati di esempio da input.Specificare che si desidera ottenere i dati di tre minuti e fare clic su OK. Attendere fino a quando non si riceve la notifica che i dati sono stati campionati.
Fare clic su Test e rivedere i risultati.
Eseguire il processo
Verificare che l'app TelcoStreaming sia in esecuzione.
Passare alla pagina Panoramica del processo di Analisi di flusso e selezionare Avvia.
Il processo di Analisi di flusso inizia a cercare le chiamate fraudolente nel flusso in ingresso. Il processo crea anche il set di dati e la tabella in Power BI e inizia a inviare loro i dati relativi alle chiamate fraudolente.
Creare il dashboard in Power BI
Passare a Powerbi.com e accedere con l'account aziendale o dell'istituto di istruzione. Se la query del processo di Analisi di flusso produce risultati, si noterà che il set di dati è già creato:
Nell'area di lavoro fare clic su + Crea.
Creare un nuovo dashboard e denominarlo
Fraudulent Calls
.Nella parte superiore della finestra, fare clic su Aggiungi riquadro, selezionare DATI IN STREAMING PERSONALIZZATI, quindi fare clic su Avanti.
In YOUR DATSETS (SET DI DATI PERSONALI) selezionare il set di dati interessato e quindi fare clic su Avanti.
In Tipo di visualizzazione selezionare Scheda e quindi nell'elenco Campi selezionare fraudulentcalls.
Fare clic su Avanti.
Immettere i dettagli del riquadro, ad esempio un titolo e un sottotitolo.
Fare clic su Applica.
Si dispone a questo punto di un contatore di frodi.
Seguire di nuovo la procedura per aggiungere un riquadro (partendo dal passaggio 4). Questa volta eseguire le operazioni seguenti:
Quando si accede a Tipo di visualizzazione selezionare Grafico a linee.
Aggiungere un asse e selezionare windowend.
Aggiungere un valore e selezionare fraudulentcalls.
Per Intervallo di tempo da visualizzare selezionare gli ultimi 10 minuti.
Fare clic su Avanti, aggiungere un titolo e un sottotitolo e fare clic su Applica.
Il dashboard di Power BI offre ora due visualizzazioni di dati sulle chiamate fraudolente in base al rilevamento nei dati di streaming.
Informazioni sulle limitazioni e le procedure consigliate
Attualmente, è possibile chiamare Power BI approssimativamente una volta al secondo. Gli oggetti visivi di streaming supportano pacchetti da 15 KB. Oltre tale limite, gli oggetti visivi di streaming hanno esito negativo, ma il push continua a funzionare. A causa di queste limitazioni, Power BI è più adatto ai casi in cui Analisi di flusso di Azure riduce notevolmente il carico di dati. È consigliabile usare la finestra a cascata o la finestra di salto per assicurarsi che il push di dati avvenga al massimo una volta al secondo e che la query rientri nei requisiti di velocità effettiva.
Per calcolare il valore e visualizzare la finestra in secondi, è possibile usare questa equazione:
Ad esempio:
- Sono presenti 1.000 dispositivi che inviano dati a intervalli di un secondo.
- Si usa lo SKU di Power BI Pro che supporta 1.000.000 righe l'ora.
- Si vuole pubblicare la quantità di dati medi per ogni dispositivo in Power BI.
L'equazione diventa quindi la seguente:
Con questa configurazione è possibile modificare la query originale come segue:
SELECT
MAX(hmdt) AS hmdt,
MAX(temp) AS temp,
System.TimeStamp AS time,
dspl
INTO "CallStream-PowerBI"
FROM
Input TIMESTAMP BY time
GROUP BY
TUMBLINGWINDOW(ss,4),
dspl
Rinnovare l'autorizzazione
Se la password è stata modificata dopo la creazione o l'ultima autenticazione del processo, è necessario autenticare nuovamente l'account Power BI. Se Azure AD Multi-Factor Authentication è configurato nel tenant Azure Active Directory (Azure AD), è necessario rinnovare l'autorizzazione Power BI ogni due settimane. Se non viene rinnovata, si potrebbero verificare problemi come la mancanza di output dei processi o un Authenticate user error
nei log delle operazioni.
Se si tenta di avviare un processo dopo che il token è scaduto, si verifica un errore e l'avvio del processo ha esito negativo. Per risolvere questo problema, arrestare il processo in esecuzione e passare all'output di Power BI. Per evitare la perdita di dati, fare clic sul collegamento Rinnova autorizzazione e riavviare il processo selezionando Ora ultimo arresto.
Dopo aver aggiornato l'autorizzazione con Power BI, viene visualizzato un avviso verde nell'area di autorizzazione che indica che il problema è stato risolto.
Passaggi successivi
- Introduzione ad Analisi dei flussi di Azure
- Introduzione all'uso di Analisi dei flussi di Azure
- Output di Analisi di flusso
- Informazioni di riferimento sul linguaggio di query di Analisi di flusso di Azure
- Informazioni di riferimento sulle API REST di gestione di Analisi di flusso di Azure
- Usare l'identità gestita per autenticare il processo di Analisi di flusso di Azure per Power BI