Principy zpracování událostí

Dokončeno

Azure Stream Analytics je služba pro komplexní zpracování událostí a analýzu streamovaných dat. Stream Analytics se používá k:

  • Příjem dat z vstupu, jako je Azure Event Hub, Azure IoT Hub nebo blob kontejner služby Azure Storage.
  • Zpracování dat pomocí dotazu k výběru, projektování a agregaci hodnot dat
  • Zapište výsledky do výstupu, jako je Azure Data Lake Gen2, Azure SQL Database, Azure Synapse Analytics, Azure Functions, centrum událostí Azure, Microsoft Power BI nebo jiné.

Diagram znázorňující úlohu Stream Analytics se vstupy, dotazem a výstupy

Po spuštění se dotaz Stream Analytics bude neustále spouštět, zpracovávat nová data, jakmile dorazí do vstupu, a ukládat výsledky do výstupu.

Stream Analytics zaručuje přesně jedno zpracování událostí a alespoň jedno doručení událostí, takže události se nikdy neztratí. V případě selhání doručení události má integrované možnosti obnovení. Stream Analytics také poskytuje integrované kontrolní body, které udržují stav vaší úlohy a vytvářejí opakovatelné výsledky. Vzhledem k tomu, že Azure Stream Analytics je řešení typu platforma jako služba (PaaS), je plně spravované a vysoce spolehlivé. Její integrovaná integrace s různými zdroji a cíli a poskytuje flexibilní model programovatelnosti. Modul Stream Analytics umožňuje výpočetní prostředky v paměti, takže nabízí vysoký výkon.

Úlohy a klastry Azure Stream Analytics

Nejjednodušší způsob, jak použít Azure Stream Analytics, je vytvořit úlohu Stream Analytics v předplatném Azure, nakonfigurovat vstupy a výstupy a definovat dotaz, který bude úloha používat ke zpracování dat. Dotaz se vyjadřuje pomocí syntaxe jazyka SQL (Structured Query Language) a může zahrnovat statická referenční data z více zdrojů dat, aby bylo možné zadat vyhledávací hodnoty, které lze kombinovat se streamovanými daty přijatými ze vstupu.

Pokud jsou požadavky na proces datových proudů složité nebo náročné na prostředky, můžete vytvořit cluster Stream Analysis, který používá stejný základní modul zpracování jako úlohu Stream Analytics, ale ve vyhrazeném tenantovi (takže zpracování není ovlivněno jinými zákazníky) a s konfigurovatelnou škálovatelností, která umožňuje definovat správnou rovnováhu propustnosti a nákladů pro váš konkrétní scénář.

Vstupy

Azure Stream Analytics může ingestovat data z následujících typů vstupu:

  • Azure Event Hubs
  • Azure IoT Hub
  • úložiště Blob v Azure
  • Azure Data Lake Storage Gen2

Vstupy se obvykle používají k odkazování na zdroj streamovaných dat, který se zpracovává při přidávání nových záznamů událostí. Kromě toho můžete definovat referenční vstupy, které se používají k ingestování statických dat k rozšíření dat datového proudu událostí v reálném čase. Například můžete zpracovat datový tok s daty pozorování počasí v reálném čase, která obsahují jedinečné ID pro každou meteorologickou stanici, a rozšířit tato data o statický referenční vstup, který přiřazuje ID meteorologické stanice smysluplnějšímu názvu.

Výstupy

Výstupy jsou cíle, do kterých se odesílají výsledky zpracování datových proudů. Azure Stream Analytics podporuje širokou škálu výstupů, které je možné použít k:

  • Zachování výsledků zpracování datových proudů pro další analýzu; Například jejich načtením do datového jezera nebo datového skladu.
  • Zobrazení vizualizace datového proudu v reálném čase; Například připojením dat k datové sadě v Microsoft Power BI.
  • Generování filtrovaných nebo souhrnných událostí pro podřízené zpracování; Například zápisem výsledků zpracování datových proudů do centra událostí.

Dotazy

Logika zpracování datových proudů je zapouzdřená v dotazu. Dotazy se definují pomocí příkazů SQL, které vyberou datová pole FROM jednoho nebo více vstupů, vyfiltrují nebo agregují data a zapisují výsledky do výstupu. Například následující dotaz vyfiltruje události ze vstupu počasí tak, aby zahrnoval pouze data z událostí s hodnotou teploty menší než 0 a zapíše výsledky do výstupu studené teploty :

SELECT observation_time, weather_station, temperature
INTO cold-temps
FROM weather-events TIMESTAMP BY observation_time
WHERE temperature < 0

Automaticky se vytvoří pole s názvem EventProcessedUtcTime , které definuje čas zpracování události dotazem Azure Stream Analytics. Toto pole můžete použít k určení časového razítka události nebo můžete explicitně zadat jiné pole DateTime pomocí klauzule TIMESTAMP BY , jak je znázorněno v tomto příkladu. V závislosti na vstupu, ze kterého se streamovaná data čtou, se může automaticky vytvořit jedno nebo více potenciálních polí časového razítka; Například při použití vstupu Event Hubs se vygeneruje pole s názvem EventQueuedUtcTime , které zaznamená čas přijetí události ve frontě centra událostí.

Pole použité jako časové razítko je důležité při agregaci dat v časových oknech, která jsou popsána dále.