Esercitazione: scrivere una query valida per eseguire l'onboarding dei dati delle metriche
Importante
A partire dal 20 settembre 2023 non sarà possibile creare nuove risorse di Advisor metriche. Il servizio Advisor metriche verrà ritirato il 1° ottobre 2026.
In questa esercitazione apprenderai a:
- Come scrivere una query di onboarding dei dati valida
- Errori comuni e come evitarli
Prerequisiti
Creare una risorsa di Advisor metriche
Per esplorare le funzionalità di Advisor metriche, potrebbe essere necessario creare una risorsa di Advisor metriche nella portale di Azure per distribuire l'istanza di Advisor metriche.
Requisiti dello schema dei dati
Advisor metriche di Azure AI è un servizio per il rilevamento, la diagnostica e l'analisi delle anomalie delle serie temporali. Supportato dall'intelligenza artificiale, usa i dati per eseguire il training del modello usato. Il servizio accetta tabelle di dati aggregati con le colonne seguenti:
- Misura (obbligatorio): una misura è un termine fondamentale o specifico dell'unità e un valore quantificabile della metrica. Significa che una o più colonne contiene valori numerici.
-
Timestamp (facoltativo): zero o una colonna di tipo
DateTime
oString
. Quando questa colonna non è configurata, il timestamp viene impostato come ora di inizio di ogni periodo di inserimento. Formattare il timestamp come indicato di seguito:yyyy-MM-ddTHH:mm:ssZ
. - Dimensione (facoltativa): una dimensione rappresenta uno o più valori categorici. La combinazione di questi valori identifica una particolare serie temporale univariata, ad esempio paese/area, lingua e tenant. Le colonne della dimensione possono essere di qualsiasi tipo di dati. Prestare attenzione quando si lavora con grandi volumi di colonne e valori, per evitare l'elaborazione di un numero eccessivo di dimensioni.
Se si usano origini dati come Azure Data Lake Storage o Archiviazione BLOB di Azure, è possibile aggregare i dati per allinearli allo schema delle metriche previsto. Ciò è dovuto al fatto che queste origini dati utilizzano un file come input delle metriche.
Se si usano origini dati come Azure SQL o Esplora dati di Azure, è possibile usare le funzioni di aggregazione per aggregare i dati nello schema previsto. Ciò è dovuto al fatto che queste origini dati supportano l'esecuzione di una query per ottenere i dati delle metriche dalle origini.
Come funziona l'inserimento dati in Advisor metriche?
Quando si esegue l'onboarding delle metriche in Advisor metriche, in genere esistono due modi:
- Pre-aggregare le metriche nello schema previsto e archiviare i dati in determinati file. Compilare il modello di percorso durante l'onboarding e Advisor metriche prenderà continuamente nuovi file dal percorso ed eseguirà il rilevamento sulle metriche. Si tratta di una procedura comune per un'origine dati come Azure Data Lake e Archiviazione BLOB di Azure.
- Se si inseriscono dati da origini dati come Azure SQL Server, Esplora dati di Azure o altre origini che supportano l'uso di uno script di query, è necessario assicurarsi di costruire correttamente la query. Questo articolo illustra come scrivere una query valida per eseguire l'onboarding dei dati delle metriche come previsto.
Che cos'è un intervallo?
Le metriche devono essere monitorate con una certa granularità in base ai requisiti aziendali. Ad esempio, gli indicatori di prestazioni chiave (KPI) aziendali vengono monitorati con granularità giornaliera. Tuttavia, le metriche delle prestazioni del servizio vengono spesso monitorate con granularità a livello di minuto o ora. La frequenza per raccogliere i dati delle metriche dalle origini è quindi diversa.
Advisor metriche recupera continuamente i dati delle metriche a ogni intervallo di tempo, l'intervallo equivale alla granularità delle metriche. Ogni volta, Advisor metriche esegue la query scritta inserisce i dati a questo intervallo specifico. In base a questo meccanismo di inserimento dati, lo script di query non deve restituire tutti i dati delle metriche esistenti nel database, ma deve limitare il risultato a un singolo intervallo.
Come scrivere una query valida?
Use @IntervalStart and @IntervalEnd to limit query results
Per ottenere questo risultato, sono stati forniti due parametri da usare all'interno della query: @IntervalStart e @IntervalEnd.
Ogni volta che viene eseguita la query, @IntervalStart e @IntervalEnd verranno aggiornati automaticamente al timestamp dell'intervallo più recente e la query ottiene i dati delle metriche corrispondenti. @IntervalEnd viene sempre assegnato come @IntervalStart più granularità 1.
Di seguito è riportato un esempio dell’uso appropriato di questi due parametri con Azure SQL Server:
SELECT [timestampColumnName] AS timestamp, [dimensionColumnName], [metricColumnName] FROM [sampleTable] WHERE [timestampColumnName] >= @IntervalStart and [timestampColumnName] < @IntervalEnd;
Scrivendo lo script di query in questo modo, i timestamp delle metriche devono rientrare nello stesso intervallo per ogni risultato della query. Advisor metriche allinea automaticamente i timestamp con la granularità delle metriche.
Usare funzioni di aggregazione per associare le metriche
Si tratta di un caso comune in cui sono presenti molte colonne all'interno delle origini dati dei clienti, ma non ha senso monitorarle tutte o includerle tutte come dimensione. I clienti possono usare funzioni di aggregazione per associare le metriche e includere solo colonne significative come dimensioni.
Di seguito è riportato un esempio in cui sono presenti più di 10 colonne nell'origine dati di un cliente, ma solo alcune sono significative e devono essere incluse e aggregate in una metrica da monitorare.
TS | Mercato | Device OS (Sistema operativo dispositivo) | Categoria | ... | Measure1 | Measure2 | Measure3 |
---|---|---|---|---|---|---|---|
2020-09-18T12:23:22Z | New York | iOS | Occhiali da sole | ... | 43242 | 322 | 54546 |
2020-09-18T12:27:34Z | Pechino | Android | Borse | ... | 3333 | 126 | 67677 |
... |
Se il cliente vuole monitorare “Measure1” a livello di granularità oraria e scegliere “Mercato” e “Categoria” come dimensioni, di seguito sono riportati esempi di come usare correttamente le funzioni di aggregazione per ottenere questo risultato:
Esempio SQL:
SELECT dateadd(hour, datediff(hour, 0, TS),0) as NewTS ,Market ,Category ,sum(Measure1) as M1 FROM [dbo].[SampleTable] where TS >= @IntervalStart and TS < @IntervalEnd group by Market, Category, dateadd(hour, datediff(hour, 0, TS),0)
Esempio di Esplora dati di Azure:
SampleTable | where TS >= @IntervalStart and TS < @IntervalEnd | summarize M1 = sum(Measure1) by Market, Category, NewTS = startofhour(TS)
Nota
Nel caso precedente, il cliente vuole monitorare le metriche con una granularità oraria, ma il timestamp (TS) non elaborato non è allineato. All'interno dell'istruzione di aggregazione, è necessario un processo sul timestamp per allinearsi all'ora e generare una nuova colonna timestamp chiamata “NewTS”.
Errori comuni durante l'onboarding
Errore: vengono trovati più valori timestamp nei risultati della query
Si tratta di un errore comune se i risultati delle query non sono stati limitati entro un intervallo. Ad esempio, se si monitora una metrica a una granularità giornaliera, si ottiene questo errore se la query restituisce risultati simili al seguente:
Sono presenti più valori di timestamp e non si trovano nello stesso intervallo di metriche (un giorno). Controllare Come funziona l'inserimento dati in Advisor metriche? per capire come Advisor metriche recupera i dati delle metriche a ogni intervallo di metriche. Assicurarsi quindi di usare @IntervalStart e @IntervalEnd nella query per limitare i risultati entro un intervallo. Per indicazioni dettagliate ed esempi, vedere Use @IntervalStart and @IntervalEnd to limit query results.
Errore: i valori delle metriche duplicati vengono trovati nella stessa combinazione di dimensioni entro un intervallo di metriche
Entro un intervallo, Advisor metriche prevede un solo valore di metrica per le stesse combinazioni di dimensioni. Ad esempio, se si monitora una metrica a una granularità giornaliera, si ottiene questo errore se la query restituisce risultati simili al seguente:
Per indicazioni dettagliate ed esempi, vedere Usare funzioni di aggregazione per associare metriche.
Passaggi successivi
Passare all'articolo successivo per informazioni sulla procedura di creazione.