Oktatóanyag: Érvényes lekérdezés írása metrikák adatainak előkészítéséhez
Fontos
2023. szeptember 20-tól nem hozhat létre új Metrics Advisor-erőforrásokat. A Metrics Advisor szolgáltatás 2026. október 1-jén megszűnik.
Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Érvényes adatbeléptetési lekérdezés írása
- Gyakori hibák és azok elkerülése
Előfeltételek
Metrics Advisor-erőforrás létrehozása
A Metrics Advisor képességeinek megismeréséhez előfordulhat, hogy létre kell hoznia egy Metrics Advisor-erőforrást az Azure Portalon a Metrics Advisor-példány üzembe helyezéséhez.
Adatséma követelményei
Az Azure AI Metrics Advisor az idősorozat-anomáliadetektáláshoz, diagnosztikához és elemzéshez használható szolgáltatás. Mi-alapú szolgáltatásként az ön adataival tanítja be a használt modellt. A szolgáltatás a következő oszlopokkal fogadja el az összesített adatok tábláit:
- Mérték (kötelező): A mérték a mérőszám alapvető vagy egységspecifikus kifejezése, és számszerűsíthető értéke. Ez azt jelenti, hogy egy vagy több oszlop numerikus értékeket tartalmaz.
- Időbélyeg (nem kötelező): Nulla vagy egy oszlop, amelynek típusa
DateTime
vagyString
típusa. Ha ez az oszlop nincs beállítva, az időbélyeg az egyes betöltési időszakok kezdő időpontjaként van beállítva. Formázza az időbélyeget a következőképpen:yyyy-MM-ddTHH:mm:ssZ
. - Dimenzió (nem kötelező): A dimenzió egy vagy több kategorikus érték. Ezeknek az értékeknek a kombinációja azonosít egy adott egyvariátumos idősort (például országot/régiót, nyelvet és bérlőt). A dimenzióoszlopok bármilyen adattípusúak lehetnek. Nagy mennyiségű oszlop és érték használata esetén legyen óvatos, hogy ne lehessen túl sok dimenziót feldolgozni.
Ha olyan adatforrásokat használ, mint az Azure Data Lake Storage vagy az Azure Blob Storage, összesítheti az adatokat, hogy igazodjon a várt metrikák sémájához. Ennek az az oka, hogy ezek az adatforrások egy fájlt használnak metrikák bemeneteként.
Ha olyan adatforrásokat használ, mint az Azure SQL vagy az Azure Data Explorer, aggregációs függvényekkel összesítheti az adatokat a várt sémában. Ennek az az oka, hogy ezek az adatforrások támogatják a lekérdezések futtatását a metrikák adatforrásokból való lekéréséhez.
Hogyan működik az adatbetöltés a Metrics Advisorban?
A metrikákNak a Metrics Advisorba történő előkészítésekor általában kétféleképpen lehet létrehozni:
- A metrikákat előre összesíti a várt sémába, és adatokat tárol bizonyos fájlokba. Az előkészítés során töltse ki az elérési út sablont, és a Metrics Advisor folyamatosan új fájlokat fog kinyerni az elérési útból, és észlelést végez a metrikákon. Ez egy gyakori eljárás az olyan adatforrások esetében, mint az Azure Data Lake és az Azure Blob Storage.
- Ha olyan adatforrásokból, például az Azure SQL Serverből, az Azure Data Explorerből vagy más forrásokból származó adatokat használ, amelyek támogatják a lekérdezési szkriptek használatát, mint amennyi szükséges ahhoz, hogy meggyőződjön arról, hogy megfelelően hozza létre a lekérdezést. Ez a cikk bemutatja, hogyan írhat érvényes lekérdezést a metrikaadatok előkészítéséhez a várt módon.
Mi az az intervallum?
A metrikákat az üzleti követelményeknek megfelelően bizonyos részletességgel kell monitorozni. Az üzleti fő teljesítménymutatókat (KPI-k) például napi részletességgel figyelik. A szolgáltatásteljesítmény-metrikákat azonban gyakran perc/óra részletességgel figyelik. A metrikaadatok forrásokból való gyűjtésének gyakorisága tehát eltérő.
A Metrics Advisor folyamatosan gyűjti a metrikák adatait minden egyes időközönként, az intervallum megegyezik a metrikák részletességével. A Metrics Advisor minden alkalommal futtatja az ön által írt lekérdezést, amely adatokat ír ezen az adott időközön. Ezen adatbetöltési mechanizmus alapján a lekérdezési szkriptnek nem szabad visszaadnia az adatbázisban található összes metrikaadatot, de az eredményt egyetlen intervallumra kell korlátoznia.
Hogyan írhat érvényes lekérdezést?
Use @IntervalStart and @IntervalEnd to limit query results
Ennek eléréséhez két paramétert adtak meg a lekérdezésben: @IntervalStart és @IntervalEnd.
Minden alkalommal, amikor a lekérdezés fut, @IntervalStart és @IntervalEnd automatikusan frissül a legújabb időközi időbélyegre, és lekéri a megfelelő metrikák adatait. @IntervalEnd mindig + 1 részletességként @IntervalStart van hozzárendelve.
Íme egy példa a két paraméter megfelelő használatára az Azure SQL Serverrel:
SELECT [timestampColumnName] AS timestamp, [dimensionColumnName], [metricColumnName] FROM [sampleTable] WHERE [timestampColumnName] >= @IntervalStart and [timestampColumnName] < @IntervalEnd;
A lekérdezési szkript ilyen módon történő megírásával a metrikák időbélyegeinek ugyanabban az intervallumban kell esnie az egyes lekérdezési eredményekhez. A Metrics Advisor automatikusan igazítja az időbélyegeket a metrikák részletességéhez.
Metrikák összesítése aggregációs függvényekkel
Gyakori eset, hogy az ügyfelek adatforrásai között sok oszlop található, azonban nem mindegyiknek van értelme monitorozni vagy dimenzióként szerepeltetni őket. Az ügyfelek aggregációs függvényekkel összesíthetik a metrikákat, és csak értelmezhető oszlopokat tartalmazhatnak dimenzióként.
Az alábbi példa több mint 10 oszlopot tartalmaz egy ügyfél adatforrásában, de ezek közül csak néhány értelmezhető, és egy figyelendő metrikába kell belefoglalni és összesíteni.
TS | Piac | Eszköz operációs rendszere | Kategória | ... | Mérték1 | Mérték2 | Mérték3 |
---|---|---|---|---|---|---|---|
2020-09-18T12:23:22Z | New York | iOS | Napszemüveg | ... | 43242 | 322 | 54546 |
2020-09-18T12:27:34Z | Peking | Android | Pantalló | ... | 3333 | 126 | 67677 |
... |
Ha az ügyfél óránkénti részletességgel szeretné monitorozni az "1. mérték" értéket, és dimenzióként a "Piac" és a "Kategória" lehetőséget választja, az alábbi példákból megtudhatja, hogyan használhatja megfelelően az aggregációs függvényeket ennek eléréséhez:
SQL-minta:
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)
Azure Data Explorer-minta:
SampleTable | where TS >= @IntervalStart and TS < @IntervalEnd | summarize M1 = sum(Measure1) by Market, Category, NewTS = startofhour(TS)
Feljegyzés
A fenti esetben az ügyfél óránkénti részletességgel szeretné monitorozni a metrikákat, de a nyers időbélyeg (TS) nincs igazítva. Az aggregációs utasításban az időbélyegen lévő folyamatnak az adott időponthoz kell igazodnia, és létre kell hoznia egy "NewTS" nevű új időbélyegoszlopot.
Gyakori hibák az előkészítés során
Hiba: Több időbélyeg-érték található a lekérdezési eredményekben
Ez gyakori hiba, ha nem korlátozta a lekérdezési eredményeket egy intervallumon belül. Ha például napi részletességgel figyel egy metrikát, a következő hibaüzenet jelenik meg, ha a lekérdezés az alábbihoz hasonló eredményeket ad vissza:
Több időbélyeg-érték is létezik, és nem ugyanabban a metrikaintervallumban vannak (egy nap). Ellenőrizze , hogyan működik az adatbetöltés a Metrics Advisorban? És ismerje meg, hogy a Metrics Advisor minden metrikaintervallumban begyűjti a metrikák adatait. Ezután ügyeljen arra, hogy @IntervalStart és @IntervalEnd használjon a lekérdezésben az eredmények egy intervallumon belüli korlátozásához. Részletes Use @IntervalStart and @IntervalEnd to limit query results útmutatást és mintákat találhat.
Hiba: Ismétlődő metrikaértékek találhatók ugyanazon a dimenziókombináción egy metrikaintervallumon belül
A Metrics Advisor egy intervallumon belül csak egy metrikaértéket vár ugyanahhoz a dimenziókombinációhoz. Ha például napi részletességgel figyel egy metrikát, a következő hibaüzenet jelenik meg, ha a lekérdezés az alábbihoz hasonló eredményeket ad vissza:
Részletes útmutatásért és mintákért tekintse meg az aggregációs függvények használatát a metrikák összesítéséhez.
Következő lépések
A következő cikkből megtudhatja, hogyan hozhat létre.