Kimenetek az Azure Stream Analyticsből

Az Azure Stream Analytics-feladatok bemenetből, lekérdezésből és kimenetből állnak. Az átalakított adatokat több kimeneti típusba is elküldheti. Ez a cikk a támogatott Stream Analytics-kimeneteket sorolja fel. A Stream Analytics-lekérdezés tervezésekor tekintse meg a kimenet nevét az INTO záradék használatával. Feladatonként egyetlen kimenetet vagy streamelési feladatonként több kimenetet is használhat, ha több INTO záradékot ad hozzá a lekérdezéshez.

Stream Analytics-feladatkimenetek létrehozásához, szerkesztéséhez és teszteléséhez használhatja az Azure Portalt, az Azure PowerShellt, a .NET API-t, a REST API-t, a Visual Studiót és a Visual Studio Code-ot.

Megjegyzés:

A legjobb helyi fejlesztési élmény érdekében használja a Stream Analytics-eszközöket a Visual Studio Code-hoz. A Visual Studio 2019-hez készült Stream Analytics-eszközök (2.6.3000.0-s verzió) ismert funkcióbeli hiányosságokat tartalmaz, és nem fognak tovább fejlődni.

Egyes kimeneti típusok támogatják a particionálást az alábbi táblázatban látható módon.

Minden kimenet támogatja a kötegelést, de csak néhány támogatja a kimeneti köteg méretének explicit beállítását. További információkért lásd a kimeneti kötegméretek szakaszt.

Kimeneti típus Partitioning Biztonság
Azure Data Explorer Igen Felügyelt identitás
Azure Functions Igen Hozzáférési kulcs
Azure Synapse Analytics Igen SQL-felhasználó hitelesítése,
felügyelt identitás
Blob Storage és Azure Data Lake Gen 2 Igen Hozzáférési kulcs,
felügyelt identitás
Azure Cosmos DB Igen Hozzáférési kulcs,
felügyelt identitás
Azure Data Lake Storage Gen2 Igen Microsoft Entra felhasználó
által felügyelt identitás
Azure-eseményközpontok Igen, be kell állítania a partíciókulcs oszlopát a kimeneti konfigurációban. Hozzáférési kulcs,
felügyelt identitás
Kafka (előzetes verzió) Igen, be kell állítania a partíciókulcs oszlopát a kimeneti konfigurációban. Hozzáférési kulcs,
felügyelt identitás
Azure Database for PostgreSQL Igen Felhasználónév és jelszó hitelesítése
Power BI Nem Microsoft Entra-felhasználó,
felügyelt identitás
Azure Service Bus-üzenetsorok Igen Hozzáférési kulcs,
felügyelt identitás
Azure Service Bus-témakörök Igen Hozzáférési kulcs,
felügyelt identitás
Azure SQL-adatbázis Igen, nem kötelező. SQL-felhasználó hitelesítése,
felügyelt identitás
Azure Táblatárhely Igen Fiókkulcs

Fontos

Az Azure Stream Analytics az Insert vagy Replace API-t használja tervezés szerint. Ez a művelet lecserél egy meglévő entitást, vagy új entitást szúr be, ha az nem szerepel a táblában.

Partitioning

A Stream Analytics a Power BI kivételével minden kimenet partícióit támogatja. A partíciókulcsokkal és a kimeneti írók számával kapcsolatos további információkért tekintse meg az önt érdeklő kimeneti típusról szóló cikket. A kimeneti típusok cikkeit az előző szakaszban csatoltuk.

A partíciók fejlettebb hangolásához a kimeneti írók számát egy INTO <partition count> (lásd : INTO) záradék használatával szabályozhatja a lekérdezésben. Ez a vezérlő segít elérni a kívánt feladattopológiát. Ha a kimeneti adapter nincs particionálva, az adatok hiánya egy bemeneti partícióban akár a késői érkezési időig is késést okoz. Ilyen esetekben a kimenet egyetlen íróval egyesül, ami szűk keresztmetszeteket okozhat a folyamatban. A késői érkezési szabályzattal kapcsolatos további információkért tekintse meg az Azure Stream Analytics eseményrendelési szempontjait.

Kimeneti köteg mérete

Minden kimenet támogatja a kötegelést, de csak néhány támogatja a köteg méretének explicit beállítását. Az Azure Stream Analytics változó méretű kötegeket használ az események feldolgozásához és a kimenetekbe való íráshoz. A Stream Analytics-motor általában nem ír egyszerre egyetlen üzenetet, és kötegeket használ a hatékonyság érdekében. Ha a bejövő és a kimenő események aránya is magas, a Stream Analytics nagyobb kötegeket használ. Ha a kimenő forgalom sebessége alacsony, kisebb kötegeket használ a késés alacsonyan tartásához.

Az Avro és a Parquet fájlmegosztási viselkedése

A Stream Analytics-lekérdezések több sémát is létrehozhatnak egy adott kimenethez. A tervezett oszlopok listája és típusa soronként változhat. Az Avro- és Parquet-formátumok kialakításuk szerint nem támogatják egyetlen fájl változós sémáit.

A következő viselkedések fordulhatnak elő, amikor változó sémákkal rendelkező streamet irányít egy kimenetre az alábbi formátumok használatával:

  • Ha a sémamódosítás észlelhető, az aktuális kimeneti fájl bezárul, és egy új inicializálódik az új sémán. A fájlok ilyen módon való felosztása jelentősen lelassítja a kimenetet, amikor a séma gyakran változik. Ez a viselkedés súlyosan befolyásolhatja a feladat általános teljesítményét.
  • Ha a sémamódosítás nem észlelhető, a rendszer valószínűleg elutasítja a sort, és a feladat elakad, mivel a sor nem lehet kimenet. A beágyazott oszlopok vagy többtípusú tömbök azok a helyzetek, amelyeket nem derítenek fel és nem utasítanak el.

Fontolja meg az Avro vagy Parquet formátumot használó kimenetek erős beírását, illetve a séma írását, és az egységes séma explicit konverzióinak és vetületeinek használatával megcélzott lekérdezéseket.

Ha több sémát kell létrehoznia, fontolja meg több kimenet létrehozását és a rekordok felosztását minden célhelyre egy WHERE záradék használatával.

Parquet kimeneti kötegelési ablak tulajdonságai

Az Azure Resource Manager-sablon üzembe helyezésekor vagy a REST API-ban két kötegelési ablaktulajdonság van beállítva:

  1. timeWindow

    A kötegenkénti maximális várakozási idő. Állítsa be az értéket sztringként Timespan. Használja például 00:02:00 két percig. Ezután a köteg akkor is a kimenetbe lesz írva, ha a minimális sorkövetelmények nem teljesülnek. Az alapértelmezett érték egy perc, az engedélyezett maximális érték pedig két óra. Ha a blobkimenet útvonalminta-gyakorisággal rendelkezik, a várakozási idő nem lehet magasabb a partíció időtartományánál.

  2. sizeWindow

    A kötegenkénti minimális sorok száma. A Parquet esetében minden köteg létrehoz egy új fájlt. Az aktuális alapértelmezett érték 2000 sor, az engedélyezett maximális érték pedig 10 000 sor.

Az API 2017-04-01-preview vagy újabb verziója támogatja ezeket a kötegelési ablak tulajdonságait. Íme egy példa a REST API-hívások JSON-hasznos adataira:

"type": "stream",
      "serialization": {
        "type": "Parquet",
        "properties": {}
      },
      "timeWindow": "00:02:00",
      "sizeWindow": "2000",
      "datasource": {
        "type": "Microsoft.Storage/Blob",
        "properties": {
          "storageAccounts" : [
          {
            "accountName": "{accountName}",
            "accountKey": "{accountKey}",
          }
          ],

Következő lépések