Kurz: Zápis platného dotazu na data onboardingu metrik

Důležité

Od 20. září 2023 nebudete moct vytvářet nové prostředky Advisoru pro metriky. Služba Metrics Advisor se 1. října 2026 vyřadí z provozu.

V tomto kurzu se naučíte:

  • Postup zápisu platného dotazu na onboarding dat
  • Běžné chyby a jak se jim vyhnout

Předpoklady

Vytvoření prostředku Advisoru pro metriky

Pokud chcete prozkoumat možnosti Advisoru pro metriky, možná budete muset vytvořit prostředek Advisoru metrik na webu Azure Portal, abyste mohli nasadit instanci Metrics Advisoru.

Požadavky na schéma dat

Azure AI Metrics Advisor je služba pro detekci anomálií časových řad, diagnostiku a analýzu. Jako služba využívající AI používá vaše data k trénování použitého modelu. Služba přijímá tabulky agregovaných dat s následujícími sloupci:

  • Míra (povinná): Míra je základní nebo jednotkově specifický termín a kvantifikovatelná hodnota metriky. Znamená to, že jeden nebo více sloupců obsahujících číselné hodnoty.
  • Časové razítko (volitelné): Nula nebo jeden sloupec s typem DateTime nebo String. Pokud tento sloupec není nastavený, časové razítko se nastaví jako počáteční čas každého období příjmu dat. Časové razítko naformátujte následujícím způsobem: yyyy-MM-ddTHH:mm:ssZ.
  • Dimenze (volitelné): Dimenze je jedna nebo více hodnot kategorií. Kombinace těchto hodnot identifikuje konkrétní jednovariátní časovou řadu (například zemi/oblast, jazyk a tenanta). Sloupce dimenzí můžou být libovolného datového typu. Při práci s velkými objemy sloupců a hodnot buďte opatrní, abyste zabránili zpracování nadměrného počtu dimenzí.

Pokud používáte zdroje dat, jako je Azure Data Lake Storage nebo Azure Blob Storage, můžete data agregovat tak, aby odpovídala očekávanému schématu metrik. Důvodem je to, že tyto zdroje dat používají soubor jako vstup metrik.

Pokud používáte zdroje dat, jako je Azure SQL nebo Azure Data Explorer, můžete agregační funkce použít k agregaci dat do očekávaného schématu. Důvodem je to, že tyto zdroje dat podporují spuštění dotazu pro získání dat metrik ze zdrojů.

Jak funguje příjem dat v Advisoru pro metriky?

Při onboardingu metrik do Advisoru pro metriky obecně existují dva způsoby:

  • Předem agregujte metriky do očekávaného schématu a uložte data do určitých souborů. Během onboardingu vyplňte šablonu cesty a Advisor metriky průběžně vezme nové soubory z cesty a provede detekci metrik. Toto je běžný postup pro zdroj dat, jako je Azure Data Lake a Azure Blob Storage.
  • Pokud ingestujete data ze zdrojů dat, jako je Azure SQL Server, Azure Data Explorer nebo jiné zdroje, které podporují použití skriptu dotazu, než potřebujete, abyste měli jistotu, že dotaz správně vytváříte. V tomto článku se dozvíte, jak napsat platný dotaz na připojení dat metrik podle očekávání.

Co je interval?

Metriky je potřeba monitorovat v určité členitosti podle obchodních požadavků. Například klíčové ukazatele výkonu (KPI) obchodních klíčových ukazatelů výkonu se sledují v denních intervalech. Metriky výkonu služby se ale často monitorují v minutách a hodinových intervalech. Frekvence shromažďování dat metrik ze zdrojů se tedy liší.

Metrics Advisor průběžně vezme data metrik v každém časovém intervalu, interval se rovná členitosti metrik. Pokaždé, když nástroj Metrics Advisor spustí dotaz, který jste v tomto konkrétním intervalu napsali, ingestuje data. Na základě tohoto mechanismu příjmu dat by skript dotazu neměl vracet všechna data metrik, která v databázi existují, ale potřebuje omezit výsledek na jeden interval.

Illustration that describes what is an interval

Jak napsat platný dotaz?

Use @IntervalStart and @IntervalEnd to limit query results

Abychom toho dosáhli, byly v dotazu poskytnuty dva parametry: @IntervalStart a @IntervalEnd.

Pokaždé, když se dotaz spustí, @IntervalStart a @IntervalEnd automaticky se aktualizuje na časové razítko posledního intervalu a získá odpovídající data metrik. @IntervalEnd je vždy přiřazena jako @IntervalStart + 1 členitost.

Tady je příklad správného použití těchto dvou parametrů s Azure SQL Serverem:

SELECT [timestampColumnName] AS timestamp, [dimensionColumnName], [metricColumnName] FROM [sampleTable] WHERE [timestampColumnName] >= @IntervalStart and [timestampColumnName] < @IntervalEnd;

Když tímto způsobem napíšete skript dotazu, časové razítka metrik by se měla pro každý výsledek dotazu spadat do stejného intervalu. Nástroj Metrics Advisor automaticky zarovná časové razítka s členitostí metrik.

Použití agregačních funkcí k agregaci metrik

Je to běžný případ, že zdroje dat zákazníků mají mnoho sloupců, ale ne všechny z nich mají smysl monitorovat nebo zahrnout jako dimenzi. Zákazníci můžou agregační funkce použít k agregaci metrik a jako dimenze zahrnout jenom smysluplné sloupce.

Níže je příklad, ve kterém je ve zdroji dat zákazníka více než 10 sloupců, ale jenom několik z nich je smysluplných a je potřeba je zahrnout a agregovat do metriky, která se má monitorovat.

TS Trh Operační systém zařízení Kategorie ... Míra 1 Míra 2 Míra 3
2020-09-18T12:23:22Z New York iOS Sluneční brýle ... 43242 322 54546
2020-09-18T12:27:34Z Peking Android Tašky ... 3333 126 67677
...

Pokud chce zákazník monitorovat míru 1 v hodinových intervalech a jako dimenze zvolit Market a Category , níže jsou příklady toho, jak správně využít agregační funkce k dosažení tohoto:

  • Ukázka 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)
    
  • Ukázka Azure Data Exploreru:

        SampleTable
        | where TS >= @IntervalStart and TS < @IntervalEnd
        | summarize M1 = sum(Measure1) by Market, Category, NewTS = startofhour(TS)
    

Poznámka:

Ve výše uvedeném případě chce zákazník monitorovat metriky s hodinovou členitostí, ale nezpracované časové razítko (TS) není zarovnané. V rámci příkazu agregace je potřeba proces časového razítka zarovnat na hodinu a vygenerovat nový sloupec časového razítka s názvem NewTS.

Běžné chyby při onboardingu

  • Chyba: Ve výsledcích dotazu se najde více hodnot časového razítka.

    Jedná se o běžnou chybu, pokud jste během jednoho intervalu neomezují výsledky dotazů. Pokud například monitorujete metriku s denní členitostí, zobrazí se tato chyba, pokud dotaz vrátí výsledky takto:

    Screenshot that shows multiple timestamp values returned

    Existuje více hodnot časového razítka, které nejsou ve stejném intervalu metrik (jeden den). Podívejte se , jak funguje příjem dat v Advisoru pro metriky? A rozumíte tomu, že Služba Metrics Advisor vezme data metrik v jednotlivých intervalech metrik. Pak nezapomeňte použít @IntervalStart a @IntervalEnd v dotazu, abyste omezili výsledky v jednom intervalu. Projděte si Use @IntervalStart and @IntervalEnd to limit query results podrobné pokyny a ukázky.

  • Chyba: Duplicitní hodnoty metrik se nacházejí ve stejné kombinaci dimenzí v jednom intervalu metriky.

    Během jednoho intervalu očekává Advisor metriky pouze jednu hodnotu metrik pro stejné kombinace dimenzí. Pokud například monitorujete metriku s denní členitostí, zobrazí se tato chyba, pokud dotaz vrátí výsledky takto:

    Screenshot that shows duplicate values returned

    Podrobné pokyny a ukázky najdete v tématu Použití agregačních funkcí k agregaci metrik .

Další kroky

V dalším článku se dozvíte, jak vytvořit.