Kimenetek az Azure Stream Analyticsből

Az Azure Stream Analytics-feladatok bemenetből, lekérdezésből és kimenetből állnak. Több kimeneti típus is létezik, amelyekbe átalakított adatokat küldhet. 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 szüksége van rájuk), 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.

Feljegyzés

Határozottan javasoljuk, hogy 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ökben (2.6.3000.0-s verzió) ismert funkcióbeli hiányosságok vannak, és a jövőben nem fog javulni.

Egyes kimenettí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 tekintse meg a kimeneti kötegméretek szakaszt .

Kimeneti típus Particionálás 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 Database Igen, nem kötelező. SQL-felhasználó hitelesítése,
felügyelt identitás
Azure Table storage 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.

Particionálás

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.

Emellett a partíciók fejlettebb hangolásához a kimeneti írók száma szabályozható a lekérdezés egy INTO <partition count> (lásd INTO) záradékával, amely hasznos lehet a kívánt feladattopológia eléréséhez. 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 bizonyos támogatási beállítások kifejezetten a köteg méreté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 sor valószínűleg elutasítva lesz, és a feladat elakad, mivel a sor nem lehet kimenet. A beágyazott oszlopok vagy több típusú tömbök nem felderített és elutasított helyzetek.

Javasoljuk, hogy fontolja meg az Avro vagy Parquet formátumot használó kimenetek erős beírását, illetve a séma írását, valamint a célként megcélzott lekérdezéseket (az egységes sémák explicit konverzióit és előrejelzéseit).

Ha több sémát kell létrehozni, érdemes lehet több kimenetet létrehozni, és a rekordokat minden célhelyre felosztani 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 a két kötegelési ablaktulajdonság a következő:

  1. timeWindow

    A kötegenkénti maximális várakozási idő. Az értéknek a következő karakterláncnak Timespankell lennie: . 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 1 perc, az engedélyezett maximális érték pedig 2 ó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.

Ezeket a kötegelési ablaktulajdonságokat csak az API 2017-04-01-preview vagy újabb verziója támogatja. Í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