A Kusto Query Language (KQL) áttekintése
A következőkre vonatkozik: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor
A Kusto Query Language (KQL) hatékony eszköz az adatok feltárására és minták felderítésére, az anomáliák és kiugró értékek azonosítására, statisztikai modellezés létrehozására és egyebekre. A KQL egy egyszerű, mégis hatékony nyelv a strukturált, félig strukturált és strukturálatlan adatok lekérdezéséhez. A nyelv kifejező, könnyen olvasható és érthető a lekérdezési szándék, és a szerzői élményhez van optimalizálva. A Kusto Lekérdezési nyelv optimális a telemetriai adatok, metrikák és naplók lekérdezéséhez a szövegkeresés és -elemzés, az idősorozat-operátorok és -függvények, az elemzés és az összesítés, a térinformatikai, a vektor-hasonlósági keresések és számos más olyan nyelvi szerkezet lekérdezéséhez, amelyek a legoptimálisabb nyelvet biztosítják az adatelemzéshez. A lekérdezés olyan séma-entitásokat használ, amelyek az SQL-ekhez hasonló hierarchiában vannak rendszerezve: adatbázisok, táblák és oszlopok.
Ez a cikk ismerteti a lekérdezés nyelvét, és gyakorlati gyakorlatokat kínál a lekérdezések írásának megkezdéséhez. A lekérdezési környezet eléréséhez használja a Azure Data Explorer webes felhasználói felületét. A KQL használatának megismeréséhez tekintse meg oktatóanyagot: Gyakori operátorok.
Ez a cikk ismerteti a lekérdezés nyelvét, és gyakorlati gyakorlatokat kínál a lekérdezések írásának megkezdéséhez. A lekérdezési környezet eléréséhez használja a KQL-lekérdezéskészletet. A KQL használatának megismeréséhez tekintse meg oktatóanyagot: Gyakori operátorok.
Mi az a Kusto-lekérdezés?
A Kusto-lekérdezések csak olvasható kérések az adatok feldolgozására és az eredmények visszaadására. A kérés egyszerű szövegben van megadva, könnyen olvasható, szerzői és automatizálási célú adatfolyam-modell használatával. A Kusto-lekérdezések egy vagy több lekérdezési utasításból állnak.
Mi az a lekérdezési utasítás?
Háromféle felhasználói lekérdezési utasítás:
Az összes lekérdezési utasítást egy ;
(pontosvessző) választja el egymástól, és csak az adott lekérdezésre van hatással.
Jegyzet
Az alkalmazás-lekérdezési utasításokról további információt alkalmazás-lekérdezési utasítások.
A lekérdezési utasítás leggyakoribb típusa egy táblázatos kifejezés, utasítás, ami azt jelenti, hogy mind a bemenete, mind a kimenete táblákból vagy táblázatos adatkészletekből áll. A táblázatos utasítások nulla vagy több operátort tartalmaznak, amelyek mindegyike táblázatos bemenettel kezdődik, és táblázatos kimenetet ad vissza. Az operátorokat egy |
(cső) rendezi. Adatfolyamok, vagy az egyik operátorból a következőbe kerülnek. Az adatok szűrése vagy kezelése minden lépésnél történik, majd az alábbi lépésbe lesznek bevéve.
Ez olyan, mint egy tölcsér, ahol egy teljes adattáblával kell kezdenie. Minden alkalommal, amikor az adatok egy másik operátoron haladnak át, szűrik, átrendezik vagy összegzik. Mivel az egyik operátorról a másikra történő adatcsomózás szekvenciális, a lekérdezési operátor sorrendje fontos, és hatással lehet az eredményekre és a teljesítményre is. A tölcsér végén egy finomított kimenet marad.
Tekintsünk meg egy példa lekérdezést.
StormEvents
| where StartTime between (datetime(2007-11-01) .. datetime(2007-12-01))
| where State == "FLORIDA"
| count
Gróf |
---|
28 |
Jegyzet
A KQL minden esetben megkülönbözteti a kis- és nagybetűket – táblaneveket, táblaoszlopneveket, operátorokat, függvényeket stb.
A kulcsszavak azonosítóként használhatók szögletes zárójelek és idézőjelek (['
, ']
, ["
és "]
). Például ['where']
. További információ: Azonosító elnevezési szabályai
Ez a lekérdezés egyetlen táblázatos kifejezési utasítással rendelkezik. Az utasítás egy StormEvents nevű táblára való hivatkozással kezdődik, és több operátort, where
és count
tartalmaz, amelyek mindegyike egy csővel van elválasztva. A forrástábla adatsorait a rendszer a StartTime oszlop értéke alapján szűri, majd a Állapot oszlop értéke alapján szűri. Az utolsó sorban a lekérdezés egy olyan táblát ad vissza, amelynek egyetlen oszlopa és egyetlen sora tartalmazza a fennmaradó sorok számát.
További Kusto-lekérdezések kipróbálásához tekintse meg oktatóanyagot: Kusto-lekérdezések írása.
Felügyeleti parancsok
A Kusto-lekérdezésekkel ellentétben felügyeleti parancsok kérések a Kusto-nak az adatok vagy metaadatok feldolgozására vagy módosítására. A következő felügyeleti parancs például létrehoz egy új Kusto-táblát két oszloptal, Level
és Text
:
.create table Logs (Level:string, Text:string)
A felügyeleti parancsok saját szintaxissal rendelkeznek, amely nem része a Kusto lekérdezési nyelv szintaxisának, bár a kettő sok fogalomból áll. A felügyeleti parancsokat különösen úgy különböztetjük meg a lekérdezésektől, hogy a parancs szövegében az első karakter a pont (.
) karakter (amely nem tud lekérdezést indítani).
Ez a különbség számos biztonsági támadást megelőz, egyszerűen azért, mert megakadályozza a felügyeleti parancsok lekérdezésekbe való beágyazását.
Nem minden felügyeleti parancs módosítja az adatokat vagy a metaadatokat. A .show
kezdődő parancsok nagy osztálya metaadatok vagy adatok megjelenítésére szolgál. A .show tables
parancs például az aktuális adatbázis összes táblájának listáját adja vissza.
További információ a felügyeleti parancsokról: Felügyeleti parancsok áttekintése.
KQL más szolgáltatásokban
A KQL-t sok más Microsoft-szolgáltatás is használja. A KQL ezen környezetekben való használatával kapcsolatos konkrét információkért tekintse meg az alábbi hivatkozásokat:
- Napló lekérdezések az Azure Monitor
- Az Azure Resource Graph lekérdezési nyelvének ismertetése
- A Microsoft 365 Defender
- CMPivot-lekérdezések