Azure Data Explorer příjmu dat
Příjem dat je proces, který slouží k načtení datových záznamů z jednoho nebo více zdrojů do tabulky v Azure Data Explorer. Po ingestování budou data k dispozici pro dotazování.
Následující diagram znázorňuje koncový tok pro práci v Azure Data Explorer a různé metody příjmu dat.
Služba Azure Data Explorer správy dat, která zodpovídá za příjem dat, implementuje následující proces:
Azure Data Explorer načte data z externího zdroje a načte požadavky z čekající fronty Azure. Data jsou dávková nebo streamovaná do Data Manager. Dávková data přitékající do stejné databáze a tabulky jsou optimalizovaná pro propustnost příjmu dat. Azure Data Explorer ověří počáteční data a v případě potřeby převede formáty dat. Další manipulace s daty zahrnuje odpovídající schéma, uspořádání, indexování, kódování a komprimaci dat. Data se uchová v úložišti podle nastavené zásady uchovávání informací. Příkaz Data Manager pak potvrdí ingestování dat do modulu, kde je k dispozici pro dotazování.
Podporované formáty dat, vlastnosti a oprávnění
Vlastnosti příjmu dat:Vlastnosti, které ovlivňují způsob příjmu dat (například označování, mapování, čas vytvoření).
Oprávnění:K ingestování dat vyžaduje proces oprávnění na úrovni ingestoru databáze. Jiné akce, například dotaz, mohou vyžadovat oprávnění správce databáze, uživatele databáze nebo správce tabulky.
Dávkování vs. příjem streamování
Dávkování ingestování provede dávkování dat a je optimalizované pro vysokou propustnost příjmu dat. Tato metoda je upřednostňovaným a nejúžitnějším typem příjmu dat. Data se dávková podle vlastností příjmu dat. Malé dávky dat se pak sloučí a jsou optimalizované pro rychlé výsledky dotazů. Zásady dávkování příjmu dat je možné nastavit u databází nebo tabulek. Ve výchozím nastavení je maximální hodnota dávkování 5 minut, 1 000 položek nebo celková velikost 1 GB. Omezení velikosti dat pro příkaz dávkového příjmu dat je 4 GB.
Příjem streamovaných dat je průběžný příjem dat ze zdroje streamování. Příjem dat streamování umožňuje latenci v reálném čase u malých sad dat na tabulku. Data se zpočátku ingestují do úložiště řádků a pak se přesunou do rozsahů úložiště sloupců. Příjem streamování je možné provést pomocí Azure Data Explorer knihovny nebo jednoho z podporovaných datových kanálů.
Metody a nástroje pro příjem dat
Azure Data Explorer podporuje několik metod příjmu dat, z nichž každá má vlastní cílové scénáře. Mezi tyto metody patří nástroje pro příjem dat, konektory a moduly plug-in pro různé služby, spravované kanály, programový příjem dat pomocí sady SDK a přímý přístup k příjmu dat.
Příjem dat pomocí spravovaných kanálů
Pro organizace, které chtějí mít správu (omezování, opakování, monitorování, výstrahy a další) prováděnou externí službou, je pravděpodobně nejvhodnějším řešením použití konektoru. Příjem dat ve frontě je vhodný pro velké objemy dat. Azure Data Explorer podporuje následující Azure Pipelines:
Event Grid:Kanál, který naslouchá úložišti Azure a aktualizuje Azure Data Explorer získat informace při odběru událostí. Další informace najdete v tématu Ingestování objektů blob Azure do Azure Data Explorer.
Centrum událostí:Kanál, který přenáší události ze služeb do Azure Data Explorer. Další informace najdete v tématu Ingestování dat z centra událostí do Azure Data Explorer.
IoT Hub:Kanál, který se používá pro přenos dat z podporovaných zařízení IoT do Azure Data Explorer. Další informace najdete v tématu Ingestování z IoT Hub.
Azure Data Factory (ADF):Plně spravovaná služba pro integraci dat pro analytické úlohy v Azure. Azure Data Factory propojuje s více než 90 podporovanými zdroji a poskytuje efektivní a odolný přenos dat. ADF připravuje, transformuje a obohacuje data, aby bylo možné získat přehledy, které je možné monitorovat různými způsoby. Tuto službu je možné použít jako jedno časové řešení, na pravidelné časové ose nebo aktivované konkrétními událostmi.
- Integrace Azure Data Explorer s Azure Data Factory.
- Pomocí Azure Data Factory můžete kopírovat data z podporovaných zdrojů do Azure Data Explorer.
- Hromadné kopírování z databáze do Azure Data Explorer pomocí Azure Data Factory šablony.
- Pomocí Azure Data Factory příkazu spusťte Azure Data Explorer řídicí příkazy.
Příjem dat pomocí konektorů a modulů plug-in
Logstash plugin ,viz Ingest data from Logstash to Azure Data Explorer.
Konektor Kafka najdetev tématu Ingestování dat ze systému Kafka Azure Data Explorer.
Power Automate: Automatizovaný kanál pracovního postupu pro Azure Data Explorer. Power Automate lze použít ke spuštění dotazu a provedení přednastavených akcí pomocí výsledků dotazu jako triggeru. Viz třída Azure Data Explorer connector to Power Automate (Preview).
Apache Spark konektor:Open source projekt, který se může spustit na libovolném clusteru Spark. Implementuje zdroj dat a jímku dat pro přesun dat mezi Azure Data Explorer a clustery Spark. Můžete vytvářet rychlé a škálovatelné aplikace, které cílí na scénáře řízené daty. Viz Azure Data Explorer Konektor pro Apache Spark.
Programový příjem dat pomocí sdk
Azure Data Explorer poskytuje sdk, které je možné použít k dotazování a příjmu dat. Programový příjem dat je optimalizovaný pro snížení nákladů na příjem dat tím, že minimalizuje transakce úložiště během a po procesu příjmu dat.
Dostupné sdk a open source projekty
nástroje
Příjem dat jedním kliknutím:Umožňuje rychle ingestovat data vytvořením a úpravou tabulek z široké škály typů zdrojů. Příjem dat jedním kliknutím automaticky navrhne tabulky a struktury mapování na základě zdroje dat v Azure Data Explorer. Příjem dat jedním kliknutím můžete použít k jednomu ingestování dat nebo k definování průběžného ingestování prostřednictvím Event Grid v kontejneru, do kterého se data ingestují.
LightIngest:Nástroj příkazového řádku pro ad hoc příjem dat do Azure Data Explorer. Nástroj může vyžádat zdrojová data z místní složky nebo z kontejneru úložiště objektů blob v Azure.
Řídicí příkazy ingestování
Pomocí příkazů ingestujte data přímo do modulu. Tato metoda obchází Správa dat služeb, a proto by se měla používat pouze pro zkoumání a vytváření prototypů. Tuto metodu nepoužívejte v produkčních scénářích ani ve scénářích s vysokým objemem.
Příjem v řádku:Do modulu se odesílá řídicí příkaz .ingest inline, kdy data, která se mají ingestovat, jsou součástí samotného textu příkazu. Tato metoda je určená pro účely improvizovaného testování.
Ingestováníz dotazu: Řídicí příkaz .set, .append, .set-or-append nebo .set-or-replace se odesílá do modulu s daty zadanými nepřímo jako výsledky dotazu nebo příkazu.
Ingestováníz úložiště (pull): Do modulu se odesílá řídicí příkaz .ingest into s daty uloženými v některém externím úložišti (například Azure Blob Storage), ke které má modul přístup a na který odkazuje příkaz .
Porovnání metod a nástrojů pro příjem dat
| Název příjmu dat | Datový typ | Maximální velikost souboru | Streamování, dávkování, přímé | Nejběžnější scénáře | Požadavky |
|---|---|---|---|---|---|
| Příjem dat jedním kliknutím | *sv, JSON | 1 GB nekomprimované (viz poznámka) | Přímé ingestování dávek do kontejneru, místního souboru a objektu blob | One-off, create table schema, definition of continuous ingestion with Event Grid, bulk ingestion with container (up to 5,000 blobs; no limit when using historical ingestion) | |
| LightIngest | Všechny podporované formáty | 1 GB nekomprimované (viz poznámka) | Dávkování prostřednictvím DM nebo přímého příjmu dat do modulu | Migrace dat, historická data s upravenými časovými razítky příjmu dat, hromadný příjem dat (bez omezení velikosti) | Rozlišují se malá a velká písmena a rozlišují se mezery. |
| ADX Kafka | Avro, ApacheAvro, JSON, CSV, Parquet a ORC | Neomezené. Dědí omezení Jazyka Java. | Dávkování, streamování | Existující kanál s vysokým objemem spotřeby ze zdroje. | Předvolba může určovat, která služba "více výrobců/konzumentů" se už používá nebo jak se služba spravuje. |
| ADX pro Apache Spark | Každý formát podporovaný prostředím Sparku | Unlimited | Dávkování | Existující kanál, předběžné zpracování ve Sparku před ingestováním, rychlý způsob vytvoření bezpečného (Spark) streamovaného kanálu z různých zdrojů, které prostředí Spark podporuje. | Zvažte náklady na cluster Spark. V případě dávkového zápisu porovnejte Azure Data Explorer datovým připojením pro Event Grid. V případě streamování Sparku porovnejte s datovým připojením pro centrum událostí. |
| LogStash | JSON | Neomezené. Dědí omezení Jazyka Java. | Vstupy konektoru jsou události Logstash a výstup konektoru do Kusto pomocí ingestování dávek. | Stávající kanál využívá vyspělou a open source logstash k vysoké spotřebě ze vstupů. | Předvolba může určovat, která služba "více výrobců/konzumentů" se už používá nebo jak se služba spravuje. |
| Azure Data Factory (ADF) | Podporované formáty dat | Neomezené *(na omezení ADF) | Dávkování nebo aktivace ADF | Podporuje formáty, které jsou obvykle nepodporované, a velké soubory, které se kopírují z více než 90 zdrojů, z on-perm do cloudu. | Tato metoda trvá relativně déle, než se ingestují data. ADF nahraje všechna data do paměti a pak zahájí příjem dat. |
| Power Automate | Všechny podporované formáty | 1 GB nekomprimované (viz poznámka) | Dávkování | Příkazy pro příjem dat jako součást toku. Slouží k automatizaci kanálů. | |
| Logic Apps | Všechny podporované formáty | 1 GB nekomprimované (viz poznámka) | Dávkování | Slouží k automatizaci kanálů. | |
| IoT Hub | Podporované formáty dat | – | Dávkování, streamování | Zprávy IoT, události IoT, vlastnosti IoT | |
| Centrum událostí | Podporované formáty dat | – | Dávkování, streamování | Zprávy, události | |
| Event Grid | Podporované formáty dat | 1 GB nekomprimované | Dávkování | Průběžný příjem dat z úložiště Azure a externích dat ve službě Azure Storage | Příjem dat se může aktivovat přejmenováním objektů blob nebo akcemi vytvoření objektu blob. |
| .NET SDK | Všechny podporované formáty | 1 GB nekomprimované (viz poznámka) | Dávkování, streamování, přímé | Psaní vlastního kódu podle potřeb organizace | |
| Python | Všechny podporované formáty | 1 GB nekomprimované (viz poznámka) | Dávkování, streamování, přímé | Psaní vlastního kódu podle potřeb organizace | |
| Node.js | Všechny podporované formáty | 1 GB nekomprimované (viz poznámka) | Dávkování, streamování, přímé | Psaní vlastního kódu podle potřeb organizace | |
| Java | Všechny podporované formáty | 1 GB nekomprimované (viz poznámka) | Dávkování, streamování, přímé | Psaní vlastního kódu podle potřeb organizace | |
| REST | Všechny podporované formáty | 1 GB nekomprimované (viz poznámka) | Dávkování, streamování, přímé | Psaní vlastního kódu podle potřeb organizace | |
| Go | Všechny podporované formáty | 1 GB nekomprimované (viz poznámka) | Dávkování, streamování, přímé | Psaní vlastního kódu podle potřeb organizace |
Poznámka
Při odkazování ve výše uvedené tabulce podporuje příjem dat maximální velikost souboru 4 GB. Doporučujeme ingestovat soubory v rozmezí od 100 MB do 1 GB.
Proces příjmu dat
Jakmile zvolíte nejvhodnější metodu příjmu dat pro vaše potřeby, proveďte následující kroky:
Nastavení zásad dávkování (volitelné)
Správce dávkování dávková data ingestování na základě zásad dávkování příjmu dat. Před ingestací definujte zásady dávkování. Podívejte se na osvědčené postupy pro příjem dat – optimalizace propustnosti. Dávkování změn zásad může trvat až 5 minut, než se projeví. Tato zásada nastaví omezení dávky podle tří faktorů: čas uplynulý od vytvoření dávky, celkový počet položek (BLOB) nebo celková velikost dávky. Ve výchozím nastavení je nastavení 5 minut/1000 objektů BLOB/1 GB, přičemž omezení se nejdříve dosáhlo. Proto při zařazování ukázkových dat do fronty pro ingestování je obvykle prodleva 5 minut.
Nastavit zásady uchovávání informací
Data ingestovaná do tabulky v Azure Průzkumník dat podléhají zásadám efektivního uchovávání tabulky. Pokud nejsou pro tabulku nastavené explicitně, platné zásady uchovávání informací se odvozují ze zásad uchovávání informací databáze. Hot disuchování je funkce velikosti clusteru a zásad uchovávání informací. Ingestování více dat, než kolik jich je dostupných, vynutí, aby první v datech byly uchovávány v chladu.
Ujistěte se, že zásady uchovávání databáze jsou vhodné pro vaše potřeby. Pokud ne, explicitně je přepište na úrovni tabulky. Další informace najdete v tématu zásady uchovávání informací.
Vytvoření tabulky
Aby bylo možné ingestovat data, je třeba vytvořit tabulku předem. Použijte jednu z následujících možností:
- Vytvořte tabulku pomocí příkazu.
- Vytvořte tabulku pomocí jednoho příjmu kliknutím.
Poznámka
Pokud je záznam neúplný nebo nelze analyzovat pole jako požadovaný datový typ, budou odpovídající sloupce tabulky naplněny hodnotami null.
Vytvořit mapování schématu
Mapování schématu pomáhá navazovat zdrojová datová pole na sloupce cílové tabulky. Mapování umožňuje v závislosti na definovaných atributech přebírat data z různých zdrojů do stejné tabulky. Podporovány jsou různé typy mapování, orientované na řádky (CSV, JSON a AVRO) a sloupcově orientované (Parquet). Ve většině metod může být mapování také předem vytvořeno v tabulce a odkazováno z parametru příkazu ingestování.
Nastavení zásad aktualizace (volitelné)
Některá mapování formátu dat (Parquet, JSON a Avro) podporují jednoduché a užitečné transformace v době příjmu. Pokud scénář vyžaduje složitější zpracování při příjmu, upravte zásady aktualizace, které podporují zjednodušené zpracování pomocí příkazů dotazu. Zásada aktualizace automaticky spustí extrakce a transformace v přijatých datech v původní tabulce a ingestuje výsledná data do jedné nebo více cílových tabulek.