zachycení událostí prostřednictvím azure Event Hubs v azure Blob Storage nebo Azure Data Lake Storage
Azure Event Hubs umožňuje automaticky zachytit streamovaná data v Event Hubs v úložišti objektů Blob v Azure nebo v účtu, který si využijete Azure Data Lake Storage obecné 1 nebo gen 2 s přidanou flexibilitou zadání času nebo velikosti intervalu. Nastavení zachytávání je rychlé, neexistují žádné náklady na správu, které by bylo možné spustit, a automaticky se škálují Event Hubs jednotky propustnosti na úrovni Standard nebo jednotek zpracování na úrovni Premium. Event Hubs Capture je nejjednodušší způsob, jak načíst streamovaná data do Azure, a umožňuje se zaměřit na zpracování dat, nikoli na shromažďování dat.
Poznámka
konfigurace Event Hubsho zachycení pro použití Azure Data Lake Storage Gen 2 je stejná jako konfigurace pro použití Blob Storage Azure. Podrobnosti najdete v tématu konfigurace Event Hubsho zachycení.
Event Hubs Capture umožňuje zpracovávat kanály založené na službě Batch v reálném čase a ve stejném datovém proudu. To znamená, že můžete vytvářet řešení, která se v průběhu času dorůstou podle vašich potřeb. Bez ohledu na to, jestli sestavíte do budoucna v reálném čase a chcete přidat efektivní studenou cestu k existujícímu řešení v reálném čase, Event Hubs Capture usnadňuje práci s datovými proudy.
Důležité
cílový účet úložiště (Azure Storage nebo Azure Data Lake Storage) musí být ve stejném předplatném jako centrum událostí.
Jak funguje Event Hubs Capture
Event Hubs je trvalá vyrovnávací paměť pro zachycení telemetrie, podobně jako distribuovaný protokol. Klíčem k horizontálnímu navýšení kapacity v Event Hubs je modelem rozděleného uživatele. Jednotlivé oddíly jsou nezávislé segmenty dat a spotřebovávají se nezávisle. V průběhu času tento časový limit vychází z konfigurovatelné doby uchovávání dat. V důsledku toho dané centrum událostí nikdy nezíská "příliš úplné".
služba Event Hubs Capture umožňuje zadat vlastní účet služby Azure Blob storage a kontejner nebo účet Azure Data Lake Storage, který se používá k uložení zachycených dat. Tyto účty můžou být ve stejné oblasti jako centrum událostí nebo v jiné oblasti, které se přidávají k flexibilitě funkce Event Hubs Capture.
Zachycená data se zapisují ve formátu Apache Avro : kompaktní a rychlý binární formát, který poskytuje struktury s bohatou datovou strukturou s vloženým schématem. Tento formát se běžně používá v ekosystému Hadoop, Stream Analytics a Azure Data Factory. Další informace o práci s Avro je k dispozici dále v tomto článku.
Okno zachycení
Event Hubs Capture vám umožní nastavit okno pro řízení zachytávání. Toto okno představuje minimální velikost a dobu konfigurace s "prvními zásadami služby WINS", což znamená, že první zjištěná aktivační událost způsobí operaci zachycení. Pokud máte okno zachycení 15 minut, 100 MB a odešlete 1 MB za sekundu, okno velikost se aktivuje před časovým intervalem. Každý oddíl zachytává nezávisle a zapisuje dokončený objekt blob bloku v době zachytávání s názvem pro čas, kdy byl zjištěn interval zachycení. Konvence pojmenování úložiště je následující:
{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}
Hodnoty data jsou doplněny nulami; Příklad názvu souboru může být:
https://mystorageaccount.blob.core.windows.net/mycontainer/mynamespace/myeventhub/0/2017/12/08/03/03/17.avro
V případě, že je objekt BLOB služby Azure Storage dočasně nedostupný, Služba Event Hubs Capture zachová vaše data pro dobu uchování dat nakonfigurovanou v centru událostí a data se po opětovném dokončení účtu úložiště zase vyplní.
Škálování jednotek propustnosti nebo jednotek zpracování
Na úrovni Standard Event Hubs je provoz řízen jednotkami propustnosti a v Event Hubs úrovně Premium, které se řídí zpracováním jednotek. Služba Event Hubs Capture kopíruje data přímo z interního úložiště Event Hubs, vynechává kvóty propustnosti nebo výstupní jednotky pro zpracování a šetří výstup pro ostatní čtecí zařízení, jako je například Stream Analytics nebo Spark.
Po nakonfigurování se Event Hubs zachycení automaticky spustí při odeslání první události a pokračuje v běhu. Aby bylo zpracování pro příjem dat snazší, abyste věděli, že proces funguje, Event Hubs zapisuje prázdné soubory, pokud nejsou k dispozici žádná data. Tento proces poskytuje předvídatelné tempo a značku, které mohou zamezit dávkám procesorů.
Nastavení zachycení Event Hubs
V čase vytvoření centra událostí můžete pomocí Azure Portalnakonfigurovat záznam pomocí Azure Resource Manager šablony. Další informace najdete v následujících článcích:
- Povolení funkce Event Hubs Capture prostřednictvím webu Azure Portal
- Vytvoření oboru názvů Event Hubs s centrem událostí a povolení funkce Capture pomocí šablony Azure Resource Manageru
Poznámka
Pokud povolíte funkci Capture pro existující centrum událostí, tato funkce zachytí události, které dorazí do centra událostí po zapnutí funkce. Nezachycuje události, které existovaly v centru událostí předtím, než byla funkce zapnuta.
Zkoumání zachycených souborů a práce s Avro
Event Hubs Capture vytvoří soubory ve formátu Avro, jak je uvedeno v nakonfigurovaném časovém intervalu. tyto soubory můžete zobrazit v jakémkoli nástroji, jako je například Průzkumník služby Azure Storage. Soubory si můžete stáhnout místně, abyste na ně mohli pracovat.
Soubory vytvořené pomocí Event Hubs Capture mají následující schéma Avro:

Snadný způsob, jak prozkoumat soubory Avro, je použití nástroje Avro Tools jar od Apache. pomocí nástroje Apache v rámci služby můžete také pro zjednodušené SQL řízené prostředí a Apache Spark provádět složité distribuované zpracování dat.
Použití možnosti Apache-podrobnosti
pro zkoumání velkých objemů dat je k disSQL dotazovací modul open source, který umožňuje dotazování strukturovaných a částečně strukturovaných dat, ať jsou kdekoli. Modul může běžet jako samostatný uzel nebo jako velký cluster pro skvělý výkon.
K dispozici je nativní podpora služby Azure Blob Storage, která usnadňuje dotazování na data v souboru Avro, jak je popsáno v dokumentaci:
podrobnosti o Apache: modul plug-in Azure Blob Storage
Pro snazší dotazování zachycených souborů můžete vytvořit a spustit virtuální počítač s podporou nasazení Apache pomocí kontejneru pro přístup k úložišti objektů BLOB v Azure. Podívejte se na následující ukázku: streamování se škálováním pomocí Event Hubsho zachycení.
Použít Apache Spark
Apache Spark je "jednotný analytický modul pro velké zpracování dat". podporuje různé jazyky, včetně SQL a může snadno získat přístup k úložišti objektů Blob v Azure. K dispozici je několik možností, jak Apache Spark v Azure spouštět, a každý z nich poskytuje snadný přístup k úložišti objektů BLOB v Azure:
- HDInsight: adresování souborů ve službě Azure Storage
- Azure Databricks: úložiště objektů BLOB v Azure
- Azure Kubernetes Service
Použití nástrojů Avro
Nástroje Avro jsou k dispozici jako balíček jar. Po stažení souboru jar můžete zobrazit schéma konkrétního souboru Avro spuštěním následujícího příkazu:
java -jar avro-tools-1.9.1.jar getschema <name of capture file>
Tento příkaz vrátí
{
"type":"record",
"name":"EventData",
"namespace":"Microsoft.ServiceBus.Messaging",
"fields":[
{"name":"SequenceNumber","type":"long"},
{"name":"Offset","type":"string"},
{"name":"EnqueuedTimeUtc","type":"string"},
{"name":"SystemProperties","type":{"type":"map","values":["long","double","string","bytes"]}},
{"name":"Properties","type":{"type":"map","values":["long","double","string","bytes"]}},
{"name":"Body","type":["null","bytes"]}
]
}
Pomocí nástrojů Avro můžete také převést soubor na formát JSON a provést jiné zpracování.
Chcete-li provést pokročilejší zpracování, Stáhněte a nainstalujte Avro pro vaši volbu platformy. V době psaní tohoto zápisu jsou k dispozici implementace pro jazyky C, C++, C # , Java, NodeJS, Perl, php, Python a Ruby.
Apache Avro nabízí kompletní Příručky k Začínáme pro jazyky Java a Python. Můžete si také přečíst článek Začínáme s Event Hubs Capture .
Jak se účtuje Event Hubs zachytávání
Záznam Event Hubs se měří podobně jako jednotky propustnosti (úroveň Standard) nebo jednotky zpracování (na úrovni Premium): jako hodinový poplatek. Poplatek je přímo úměrný počtu jednotek propustnosti nebo zpracovávaných jednotek pro obor názvů. Vzhledem k tomu, že se jednotky propustnosti nebo zpracovatelské jednotky zvyšují a snižují, Event Hubs se zvyšují a zmenšují měřiče zachycení, aby poskytovaly shodný výkon. Měřiče se objevují společně. Podrobnosti o cenách najdete v tématu Event Hubs ceny.
Capture nespotřebovává kvótu pro odchozí přenosy, protože se účtuje samostatně.
Integrace s Event Grid
Jako zdroj můžete vytvořit předplatné Azure Event Grid s oborem názvů Event Hubs. V následujícím kurzu se dozvíte, jak vytvořit předplatné Event Grid s centrem událostí jako zdrojovou a Azure Functionsovou aplikací jako jímku: zpracování a migrace zachycených Event Hubs dat do analýzy Azure synapse pomocí Event Grid a Azure Functions.
Další kroky
Event Hubs Capture je nejjednodušší způsob, jak získat data do Azure. Pomocí Azure Data Lake, Azure Data Factory a Azure HDInsight můžete provádět dávkové zpracování a další analýzy s využitím známých nástrojů a platforem dle vašeho výběru, a to v jakémkoli měřítku, které potřebujete.
Přečtěte si, jak tuto funkci povolit pomocí šablony Azure Portal a Azure Resource Manager: