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.
Questo articolo descrive i problemi comuni relativi allo sviluppo di query di Analisi di flusso di Azure, come risolvere i problemi di query e come correggere i problemi. Molti passaggi per la risoluzione dei problemi richiedono l'abilitazione dei log delle risorse per il processo di Analisi di flusso. Se i log delle risorse non sono abilitati, vedere Risolvere i problemi di Analisi di flusso di Azure usando i log delle risorse.
La query non produce l'output atteso
Esaminare gli errori eseguendo un test locale:
- Nel portale Azure, nella scheda Query, seleziona Test. Testare la query usando i dati di esempio scaricati. Esaminare eventuali errori e provare a risolverli.
- Puoi anche testare la tua query localmente utilizzando gli strumenti Analisi di flusso di Azure per Visual Studio o Visual Studio Code.
Eseguire il debug delle query in locale, passaggio per passaggio, usando il diagramma del processo negli strumenti di Analisi di flusso di Azure per Visual Studio Code. Il diagramma del lavoro mostra come i dati fluiscono dalle fonti di input, ad esempio Hub eventi di Azure e hub IoT di Azure, attraverso molteplici passaggi di query e infine fino ai dissipatori di output. Lo script mappa ogni fase di query a un set di risultati temporaneo che definisci usando l'istruzione WITH. Visualizza i dati e le metriche in ogni set di risultati intermedi per trovare la fonte del problema.
Se si usa Timestamp By, assicurarsi che i timestamp degli eventi siano successivi all'ora di inizio del processo.
Eliminare i problemi comuni, ad esempio:
- Una clausola WHERE nella query filtrava tutti gli eventi, quindi la query non produceva alcun output.
- Una funzione CAST non riesce, causando l'esito negativo del processo. Per evitare errori nella conversione di tipo, usare TRY_CAST.
- Quando usi le funzioni di finestra, attendi il completamento dell'intera finestra per visualizzare l'output della query.
- Il timestamp degli eventi precede l'orario di inizio del lavoro, quindi il lavoro elimina gli eventi.
- Le condizioni di JOIN non corrispondono. Se non ci sono corrispondenze, la query non produce alcun risultato.
Assicurati di configurare le politiche di ordine degli eventi come previsto. Passare a Impostazioni e selezionare Ordinamento eventi. Il pulsante Test non applica il criterio quando esegui il test della query. Questo risultato è una differenza tra testare nel browser ed eseguire il lavoro in produzione.
Eseguire il debug usando i log di attività e risorse:
- Usare i log attività e filtrare per identificare gli errori ed eseguirne il debug.
- Usa i log delle risorse del job per identificare gli errori ed eseguirne il debug.
Eseguire il debug progressivo delle query
Nell'elaborazione dati in tempo reale, è utile sapere come appaiono i dati nel mezzo della query. Per visualizzare i dati intermedi, usa il diagramma del lavoro in Visual Studio. Se non hai Visual Studio, puoi fare passaggi extra per produrre dati intermedi.
Poiché Analisi di flusso di Azure può leggere più volte gli input o i passaggi di un processo, puoi scrivere istruzioni aggiuntive SELECT INTO. Così facendo si inviano dati intermedi nell'archiviazione e puoi verificare la correttezza dei dati, proprio come fanno le variabili di osservazione quando fai il debug di un programma.
La seguente query di esempio in un processo di Analisi di flusso di Azure ha un input del flusso, due input di dati di riferimento e un output nell'archiviazione tabelle di Azure. La query unisce i dati dell'hub eventi e di due BLOB di riferimento per ottenere le informazioni di nome e categoria:
Il lavoro è in esecuzione, ma non produce eventi nell'output. Nella tessera Monitoraggio , mostrata qui, puoi vedere che l'input produce dati, ma non sai quale passaggio di JOIN abbia eliminato tutti gli eventi.
In questa situazione, puoi aggiungere qualche istruzione extra SELECT INTO per "registrare" i risultati intermedi JOIN e i dati letti dall'input.
In questo esempio, abbiamo aggiunto due nuove "uscite temporanee". Possono essere qualsiasi lavandino tu voglia. Qui si usa Archiviazione di Azure come esempio:
È quindi possibile riscrivere la query come segue:
Ora avviare nuovamente il processo e lasciarlo in esecuzione per alcuni minuti. Poi consulta temp1 e temp2 usa Visual Studio Cloud Explorer per produrre le seguenti tabelle:
Tabella temp1
Tabella temp2
Come puoi vedere, temp1 e temp2 entrambi hanno dati, e la name colonna è popolata correttamente in temp2. Tuttavia, poiché l'output non contiene ancora dati, qualcosa non va:
Analizzando un campione di dati, si può essere quasi certi che il problema risieda nel secondo JOIN. È possibile scaricare i dati di riferimento dal BLOB e dare un'occhiata:
Come puoi vedere, il formato del GUID in questi dati di riferimento è diverso dal formato della [from] colonna in temp2. Ecco perché i dati non sono arrivati in output1 come previsto.
Correggi il formato dei dati, caricalo nel blob di riferimento e riprova:
Questa volta i dati nell'output vengono formattati e popolati come previsto.
L'utilizzo delle risorse è elevato
Assicurarsi di sfruttare i vantaggi della parallelizzazione in Analisi di flusso di Azure. Scopri come ottimizzare la scalabilità con la parallelizzazione delle query dei processi di Stream Analytics configurando le partizioni di input e ottimizzando la definizione delle query di analisi.
Se l'utilizzo delle risorse è costantemente superiore all'80%, il ritardo limite aumenta e il numero di eventi in backlog aumenta, prendere in considerazione l'aumento delle unità di streaming. L'utilizzo elevato indica che il processo sta utilizzando quasi il massimo delle risorse allocate.
Come ottenere assistenza
Per maggiore supporto, provare la Pagina delle domande di Domande e risposte Microsoft per Analisi di flusso di Azure.
Contenuti correlati
- Introduzione ad Analisi dei flussi di Azure
- Introduzione all'uso di Analisi dei flussi di Azure
- Ridimensionare i processi di Analisi dei flussi di Azure
- 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