A Stream Analytics lekérdezési nyelv leírása

Az Azure Stream Analytics egy SQL-lekérdezési nyelvet kínál az események streamjeiben végzett átalakításokhoz és számításokhoz.

A Stream Analytics lekérdezési nyelve, a T-SQL szintaxis egy részhalmaza

Ez a dokumentum a Stream Analytics lekérdezési nyelvének szintaxisát, használatát és ajánlott eljárásait ismerteti. Az ebben a dokumentumban használt összes példa egy díjfizetési stand forgatókönyvére támaszkodik, az alábbiakban leírtak szerint.

A Stream Analytics lekérdezési nyelve a streamelési számításokhoz használt standard T-SQL-szintaxis egy részhalmaza.

Az útdíjfizetési stand forgatókönyve

Az útdíjfizetési állomás gyakori jelenség – számos gyorsforgalmi úton, hídon és alagúton találkozunk velük a világ minden táján. Minden útdíjfizetési állomás több fizetős standdal rendelkezik, amelyek manuálisak lehetnek – vagyis nem kell fizetniük az útdíjért egy résztvevőnek vagy automatizáltnak –, ahol a standra helyezett érzékelő átvizsgál egy RFID kártyát, amelyet a jármű szélvédőjére rögzítettek az útdíjfizetési standon való áthaladáskor. Az útdíjfizetési állomásokon áthaladó járművek áthaladását könnyen megjelenítheti eseménystreamként, amelyen érdekes műveletek végezhetők.

Érkezési idő és alkalmazásidő

Minden időbeli rendszerben, például az Azure Stream Analyticsben elengedhetetlen az idő előrehaladásának megértése. A rendszeren áthaladó minden eseményhez tartozik egy időbélyeg, amely a System.Timestamp() használatával érhető el. Más szóval a rendszerünk minden eseménye egy időpontot ábrázol. Ez az időbélyeg lehet egy alkalmazásidő, amelyet a felhasználó megadhat a lekérdezésben, vagy a rendszer hozzárendelheti az érkezési idő alapján. Az érkezési idő a bemeneti forrásoktól függően eltérő jelentéssel bír. Az Azure Event Hub eseményei esetében az érkezési idő az eseményközpont által megadott időbélyeg; Blob Storage esetén ez a blob utolsó módosításának időpontja. Az időbélyeg az az időpont, amely az adatok rögzítéséhez vagy elemzéséhez szükséges. Ha a felhasználó alkalmazásidőt szeretne használni, ezt a TIMESTAMP BY kulcsszóval teheti meg. A fenti forgatókönyvben a jármű belépése az útdíj-fülkébe. Kritikus fontosságú az "időbélyeg" azonosítása a bejövő adatstreamben, ezért gondoskodni kell arról, hogy a rögzített idő is megerősítse egy esemény előfordulását. Ha például az egyik a számlálók figyelése, és meg szeretné számolni a számlázott ügyfelek számát, akkor ideális esetben az esemény időbélyegének a "számla generált" idő helyett "sikeres fizetésnek" kell lennie.

TIMESTAMP BY

Az Azure Stream Analyticsben minden esemény jól meghatározott időbélyegzővel rendelkezik. Ha a felhasználó az alkalmazásidőt szeretné használni, a TIMESTAMP BY kulcsszóval megadhatja a hasznos adat oszlopát, amelyet minden bejövő esemény időbélyegzésére kell használni, hogy bármilyen időbeli számítást hajtson végre, például Ablakozás, Illesztések stb. Ajánlott eljárásként a TIMESTAMP BY használatát javasoljuk az érkezési idő függvényében. A TIMESTAMP BY bármely datetime típusú oszlopban használható, és minden ISO 8601 formátum támogatott. A System.Timestamp() csak a Kiválasztás területen használható.

Az alábbiakban egy TIMESTAMP BY példa látható, amely az EntryTime oszlopot használja az események alkalmazásidejeként:

  
SELECT TollId, EntryTime AS VehicleEntryTime, LicensePlate, State, Make, Model, VehicleType, VehicleWeight, Toll, Tag   
FROM TollTagEntry TIMESTAMP BY EntryTime  
  

Mezőnév – Kis- és nagybetűk érzékenysége

Az 1.0-s kompatibilitási szinttel létrehozott feladatok mezőnevei kisbetűsre (kis- és nagybetűk megkülönböztetésére) változnak az Azure Stream Analytics-motor feldolgozásakor. A kis- és nagybetűket megkülönböztető sémát támogató bemeneti formátumok, például a JSON esetében ismétlődő mezőkkel rendelkező eseményeket hozhat létre, ha a mezőneveket kis- és nagybetűk megkülönböztetése miatt hasonlítják össze. Az ilyen események érvénytelen eseményeknek minősülnek, és a feldolgozás során el lesznek dobva.

A kis- és nagybetűk megkülönböztetése megmarad a mezőnevek esetében, ha a Stream Analytics-feladat az 1.1-es vagy újabb kompatibilitási szinttel jön létre. További információért tekintse meg a kompatibilitási szint konfigurálását ismertető témakört.

A szakasz tartalma

A Stream Analytics lekérdezési nyelvének használatával kapcsolatos útmutatásért tekintse meg az alábbi témaköröket.

Lásd még: