Självstudie: Skriva en giltig fråga för att registrera måttdata
Viktigt!
Från och med den 20 september 2023 kommer du inte att kunna skapa nya Metrics Advisor-resurser. Metrics Advisor-tjänsten dras tillbaka den 1 oktober 2026.
I den här självstudien lär du dig att:
- Skriva en giltig data onboarding-fråga
- Vanliga fel och hur du undviker dem
Förutsättningar
Skapa en Metrics Advisor-resurs
Om du vill utforska funktionerna i Metrics Advisor kan du behöva skapa en Metrics Advisor-resurs i Azure-portalen för att distribuera din Metrics Advisor-instans.
Krav för dataschema
Azure AI Metrics Advisor är en tjänst för avvikelseidentifiering i tidsserier, diagnostik och analys. Som en AI-baserad tjänst använder den dina data för att träna den modell som används. Tjänsten accepterar tabeller med aggregerade data med följande kolumner:
- Mått (obligatoriskt): Ett mått är en grundläggande eller enhetsspecifik term och ett kvantifierbart värde för måttet. Det innebär en eller flera kolumner som innehåller numeriska värden.
- Tidsstämpel (valfritt): Noll eller en kolumn, med typen
DateTime
ellerString
. När den här kolumnen inte har angetts anges tidsstämpeln som starttid för varje inmatningsperiod. Formatera tidsstämpeln enligt följande:yyyy-MM-ddTHH:mm:ssZ
. - Dimension (valfritt): En dimension är ett eller flera kategoriska värden. Kombinationen av dessa värden identifierar en viss engångstidsserie (till exempel land/region, språk och klientorganisation). Dimensionskolumnerna kan vara av vilken datatyp som helst. Var försiktig när du arbetar med stora mängder kolumner och värden för att förhindra att alltför många dimensioner bearbetas.
Om du använder datakällor som Azure Data Lake Storage eller Azure Blob Storage kan du aggregera dina data så att de överensstämmer med ditt förväntade måttschema. Det beror på att dessa datakällor använder en fil som måttindata.
Om du använder datakällor som Azure SQL eller Azure Data Explorer kan du använda aggregeringsfunktioner för att aggregera data i ditt förväntade schema. Det beror på att dessa datakällor stöder körning av en fråga för att hämta måttdata från källor.
Hur fungerar datainmatning i Metrics Advisor?
När du registrerar dina mått till Metrics Advisor finns det vanligtvis två sätt:
- Föraregera dina mått i det förväntade schemat och lagra data i vissa filer. Fyll i sökvägsmallen under registrering, så hämtar Metrics Advisor kontinuerligt nya filer från sökvägen och utför identifiering av måtten. Det här är en vanlig metod för en datakälla som Azure Data Lake och Azure Blob Storage.
- Om du matar in data från datakällor som Azure SQL Server, Azure Data Explorer eller andra källor, som stöder användning av ett frågeskript än du behöver för att se till att du konstruerar frågan korrekt. I den här artikeln får du lära dig hur du skriver en giltig fråga för att registrera måttdata som förväntat.
Vad är ett intervall?
Mått måste övervakas med en viss kornighet enligt affärskraven. Till exempel övervakas KPI:er (Business Key Performance Indicators) med daglig kornighet. Tjänstprestandamått övervakas dock ofta med minut/timme-kornighet. Därför skiljer sig frekvensen för att samla in måttdata från källor.
Metrics Advisor hämtar kontinuerligt måttdata vid varje tidsintervall, intervallet är lika med måttens kornighet. Varje gång kör Metrics Advisor frågan som du har skrivit matar in data med det här specifika intervallet. Baserat på den här datainmatningsmekanismen bör frågeskriptet inte returnera alla måttdata som finns i databasen, utan måste begränsa resultatet till ett enda intervall.
Hur skriver jag en giltig fråga?
Use @IntervalStart and @IntervalEnd to limit query results
För att uppnå detta har två parametrar angetts för användning i frågan: @IntervalStart och @IntervalEnd.
Varje gång frågan körs @IntervalStart och @IntervalEnd uppdateras automatiskt till den senaste tidsstämpeln för intervall och hämtar motsvarande måttdata. @IntervalEnd tilldelas alltid som @IntervalStart + 1 kornighet.
Här är ett exempel på korrekt användning av dessa två parametrar med Azure SQL Server:
SELECT [timestampColumnName] AS timestamp, [dimensionColumnName], [metricColumnName] FROM [sampleTable] WHERE [timestampColumnName] >= @IntervalStart and [timestampColumnName] < @IntervalEnd;
Genom att skriva frågeskriptet på det här sättet bör måttens tidsstämplar falla i samma intervall för varje frågeresultat. Metrics Advisor justerar automatiskt tidsstämplarna med måttens kornighet.
Använda aggregeringsfunktioner för att aggregera mått
Det är vanligt att det finns många kolumner i kundernas datakällor, men alla är inte meningsfulla att övervakas eller inkluderas som en dimension. Kunder kan använda aggregeringsfunktioner för att aggregera mått och endast inkludera meningsfulla kolumner som dimensioner.
Nedan visas ett exempel där det finns fler än 10 kolumner i en kunds datakälla, men bara ett fåtal av dem är meningsfulla och behöver inkluderas och aggregeras till ett mått som ska övervakas.
TS | Marknad | Enhetsoperativsystem | Kategori | ... | Mått 1 | Mått 2 | Mått 3 |
---|---|---|---|---|---|---|---|
2020-09-18T12:23:22Z | New York | iOS | Solglasögon | ... | 43242 | 322 | 54546 |
2020-09-18T12:27:34Z | Peking | Android | Väskor | ... | 3333 | 126 | 67677 |
... |
Om kunden vill övervaka "Measure1" per timmes kornighet och välja "Marknad" och "Kategori" som dimensioner, nedan visas exempel på hur du korrekt använder aggregeringsfunktionerna för att uppnå detta:
SQL-exempel:
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)
Exempel på Azure Data Explorer:
SampleTable | where TS >= @IntervalStart and TS < @IntervalEnd | summarize M1 = sum(Measure1) by Market, Category, NewTS = startofhour(TS)
Kommentar
I ovanstående fall vill kunden övervaka mått med en kornighet per timme, men den råa tidsstämpeln (TS) är inte justerad. Inom aggregeringsinstruktionen krävs en process på tidsstämpeln för att justera vid timmen och generera en ny tidsstämpelkolumn med namnet "NewTS".
Vanliga fel vid registrering
Fel: Flera tidsstämpelvärden hittas i frågeresultat
Det här är ett vanligt fel om du inte har begränsat frågeresultaten inom ett intervall. Om du till exempel övervakar ett mått med daglig kornighet får du det här felet om frågan returnerar resultat som detta:
Det finns flera tidsstämpelvärden och de har inte samma måttintervall (en dag). Kontrollera hur datainmatning fungerar i Metrics Advisor och förstå att Metrics Advisor hämtar måttdata vid varje måttintervall. Se sedan till att använda @IntervalStart och @IntervalEnd i frågan för att begränsa resultatet inom ett intervall. Sök efter Use @IntervalStart and @IntervalEnd to limit query results detaljerad vägledning och exempel.
Fel: Duplicerade måttvärden hittas i samma dimensionskombination inom ett måttintervall
Inom ett intervall förväntar sig Metrics Advisor endast ett måttvärde för samma dimensionskombinationer. Om du till exempel övervakar ett mått med daglig kornighet får du det här felet om frågan returnerar resultat som detta:
Se Använda aggregeringsfunktioner för att aggregera mått för detaljerad vägledning och exempel.
Nästa steg
Gå vidare till nästa artikel för att lära dig hur du skapar.