Integrace Azure Data Exploreru se službou Azure Data Factory
Azure Data Factory (ADF) je cloudová služba pro integraci dat, která umožňuje integrovat různá úložiště dat a provádět s daty aktivity. ADF umožňuje vytvářet pracovní postupy řízené daty pro orchestraci a automatizaci přesunu a transformace dat. Azure Data Explorer je jedním z podporovaných úložišť dat ve službě Azure Data Factory.
Aktivity služby Azure Data Factory pro Azure Data Explorer
Pro uživatele Azure Data Exploreru jsou k dispozici různé integrace se službou Azure Data Factory:
Aktivita kopírování
Azure Data Factory aktivita Copy slouží k přenosu dat mezi úložišti dat. Azure Data Explorer se podporuje jako zdroj, kde se data kopírují z Azure Data Exploreru do libovolného podporovaného úložiště dat a jímky, kde se data kopírují z libovolného podporovaného úložiště dat do Azure Data Exploreru. Další informace najdete v tématu kopírování dat do Azure Data Exploreru nebo z Azure Data Exploreru pomocí služby Azure Data Factory. Podrobný návod najdete v tématu načtení dat z Azure Data Factory do Azure Data Exploreru. Azure Data Explorer podporuje Prostředí Azure IR (Integration Runtime), které se používá při kopírování dat v rámci Azure a místního prostředí IR, které se používá při kopírování dat z/do úložišť dat umístěných místně nebo v síti s řízením přístupu, jako je například Azure Virtual Network. Další informace najdete v tom , které prostředí IR se má použít.
Tip
Při použití aktivity kopírování a vytvoření propojené služby nebo datové sady vyberte úložiště dat Azure Data Explorer (Kusto) a ne staré úložiště dat Kusto.
Aktivita Lookup
Aktivita Vyhledávání se používá ke spouštění dotazů v Azure Data Exploreru. Výsledek dotazu se vrátí jako výstup aktivity Vyhledávání a dá se použít v další aktivitě v kanálu, jak je popsáno v dokumentaci k vyhledávání ADF.
Kromě limitu velikosti odpovědi 5 000 řádků a 2 MB má aktivita také limit časového limitu dotazu 1 hodinu.
Aktivita příkazu
Aktivita příkaz umožňuje spouštění příkazů pro správu Azure Data Exploreru. Na rozdíl od dotazů můžou příkazy pro správu potenciálně upravovat data nebo metadata. Některé příkazy pro správu cílí na příjem dat do Azure Data Exploreru pomocí příkazů, jako .ingest
jsou nebo .set-or-append
) nebo kopírování dat z Azure Data Exploreru do externích úložišť dat pomocí příkazů, jako .export
jsou .
Podrobný návod k aktivitě příkazů najdete v tématu Použití aktivity příkazů Azure Data Factory ke spuštění příkazů Azure Data Exploreru. Použití příkazu pro správu ke kopírování dat může být někdy rychlejší a levnější než aktivita Copy. Pokud chcete určit, kdy se má použít aktivita command a aktivita Copy, podívejte se, kdy vybrat mezi aktivitami Kopírování a Příkaz při kopírování dat.
Hromadné kopírování ze šablony databáze
Hromadné kopírování z databáze do Azure Data Exploreru pomocí šablony Azure Data Factory je předdefinovaný kanál služby Azure Data Factory. Šablona slouží k vytvoření mnoha kanálů pro každou databázi nebo tabulku pro rychlejší kopírování dat.
Toky dat mapování
Mapování toků dat ve službě Azure Data Factory jsou vizuálně navržené transformace dat, které datovým inženýrům umožňují vyvíjet logiku grafické transformace dat bez psaní kódu. Pokud chcete vytvořit tok dat a ingestovat data do Azure Data Exploreru, použijte následující metodu:
- Vytvořte tok dat mapování.
- Exportujte data do objektu blob Azure.
- Definujte aktivitu kopírování Event Gridu nebo ADF pro příjem dat do Azure Data Exploreru.
Výběr mezi aktivitami příkazů Kopírování a Azure Data Exploreru při kopírování dat
Tato část vám pomůže vybrat správnou aktivitu pro potřeby kopírování dat.
Při kopírování dat z Azure Data Exploreru nebo do Azure Data Exploreru jsou ve službě Azure Data Factory k dispozici dvě možnosti:
- aktivita Copy.
- Aktivita příkazu Azure Data Exploreru, která spouští jeden z příkazů pro správu, které přenášejí data v Azure Data Exploreru.
Kopírování dat z Azure Data Exploreru
Data z Azure Data Exploreru .export
můžete kopírovat pomocí aktivity kopírování nebo příkazu. Příkaz .export
spustí dotaz a pak vyexportuje výsledky dotazu.
Porovnání aktivita Copy a .export
příkazu pro kopírování dat z Azure Data Exploreru najdete v následující tabulce.
Aktivita kopírování | Příkaz .export | |
---|---|---|
Popis toku | ADF spustí dotaz na Kusto, zpracuje výsledek a odešle ho do cílového úložiště dat. (Úložiště dat jímky ADF > v Azure Data Exploreru>) |
ADF odešle .export příkaz pro správu do Azure Data Exploreru, který příkaz spustí, a odešle data přímo do cílového úložiště dat. (** Úložiště dat jímky Azure Data Exploreru > **) |
Podporovaná cílová úložiště dat | Široká škála podporovaných úložišť dat | ADLSv2, Azure Blob, SQL Database |
Výkon | Centralizovaný |
|
Omezení serveru | Limity dotazů je možné rozšířit nebo zakázat. Ve výchozím nastavení dotazy ADF obsahují:
|
Ve výchozím nastavení rozšiřuje nebo zakazuje limity dotazů:
|
Tip
Pokud je vaším cílem kopírování jedno z úložišť dat podporovaných příkazem .export
a pokud žádná z aktivita Copy funkcí není pro vaše potřeby zásadní, vyberte .export
příkaz.
Kopírování dat do Azure Data Exploreru
Data můžete zkopírovat do Azure Data Exploreru pomocí aktivit kopírování nebo příkazů pro příjem dat, jako je příjem dat z dotazu (.set-or-append
, .set-or-replace
, .set
, .replace)
a ingestování z úložiště (.ingest
).
Porovnání aktivita Copy a příkazů pro příjem dat pro kopírování dat do Azure Data Exploreru najdete v následující tabulce.
Aktivita kopírování | Příjem dat z dotazu.set-or-append / .set-or-replace / .set / .replace |
Příjem z úložiště .ingest |
|
---|---|---|---|
Popis toku | ADF získá data ze zdrojového úložiště dat, převede je do tabulkového formátu a provede požadované změny mapování schématu. ADF pak nahraje data do objektů blob Azure, rozdělí je na bloky dat a pak stáhne objekty blob, aby je ingestovaly do tabulky Azure Data Exploreru. (Source data store > ADF > Azure Blobs > Azure Data Explorer) |
Tyto příkazy můžou spustit dotaz nebo .show příkaz a ingestovat výsledky dotazu do tabulky (Azure Data Explorer Azure Data Explorer>). |
Tento příkaz ingestuje data do tabulky "vyžádáním" dat z jednoho nebo více artefaktů cloudového úložiště. |
Podporovaná zdrojová úložiště dat | různé možnosti | ADLS Gen2, Azure Blob, SQL (pomocí modulu plug-in sql_request(), Azure Cosmos DB (pomocí modulu plug-in cosmosdb_sql_request) a jakéhokoli jiného úložiště dat, které poskytuje rozhraní API HTTP nebo Pythonu. | Systém souborů, Azure Blob Storage, ADLS Gen1, ADLS Gen2 |
Výkon | Příjem dat se zařadí do fronty a spravuje, což zajišťuje příjem dat malé velikosti a zajišťuje vysokou dostupnost tím, že poskytuje vyrovnávání zatížení, opakování a zpracování chyb. |
|
|
Omezení serveru |
|
|
|
Tip
- Při kopírování dat z ADF do Azure Data Exploreru
ingest from query
se používají příkazy. - U velkých datových sad (>1 GB) použijte aktivita Copy.
Požadována oprávnění
Následující tabulka uvádí požadovaná oprávnění pro různé kroky v integraci se službou Azure Data Factory.
Krok | Operace | Minimální úroveň oprávnění | Notes |
---|---|---|---|
Vytvoření propojené služby | Navigace v databázi | prohlížeč databáze Přihlášený uživatel používající ADF by měl mít oprávnění ke čtení metadat databáze. |
Uživatel může zadat název databáze ručně. |
Testovat připojení | monitorování databáze nebo ingestor tabulek Instanční objekt by měl mít oprávnění ke spouštění příkazů na úrovni .show databáze nebo příjmu dat na úrovni tabulky. |
|
|
Vytvoření datové sady | Navigace v tabulce | monitorování databáze Přihlášený uživatel používající ADF musí mít oprávnění ke spouštění příkazů na úrovni .show databáze. |
Uživatel může zadat název tabulky ručně. |
Vytvoření datové sady nebo aktivity kopírování | Náhled dat | prohlížeč databáze Instanční objekt musí mít oprávnění ke čtení metadat databáze. |
|
Import schématu | prohlížeč databáze Instanční objekt musí mít oprávnění ke čtení metadat databáze. |
Pokud je Azure Data Explorer zdrojem tabulkové kopie na tabulku, ADF naimportuje schéma automaticky, i když uživatel schéma neimportoval explicitně. | |
Azure Data Explorer jako jímka | Vytvoření mapování sloupců podle názvu | monitorování databáze Instanční objekt musí mít oprávnění ke spouštění příkazů na úrovni .show databáze. |
|
|
správce databáze nebo ingestor tabulky Instanční objekt musí mít oprávnění k provádění změn v tabulce. |
||
Ingestace dat | správce databáze nebo ingestor tabulky Instanční objekt musí mít oprávnění k provádění změn v tabulce. |
||
Azure Data Explorer jako zdroj | Provedení dotazu | prohlížeč databáze Instanční objekt musí mít oprávnění ke čtení metadat databáze. |
|
Příkaz Kusto | Podle úrovně oprávnění každého příkazu. |
Výkon
Pokud je Azure Data Explorer zdrojem a používáte aktivitu vyhledávání, kopírování nebo příkazu, která obsahuje dotaz, přečtěte si osvědčené postupy pro dotazy pro informace o výkonu a dokumentaci ADF pro aktivitu kopírování.
Tato část se zabývá používáním aktivity kopírování, ve které je Azure Data Explorer jímkou. Odhadovaná propustnost pro jímku Azure Data Exploreru je 11 až 13 MB/s. Následující tabulka podrobně popisuje parametry ovlivňující výkon jímky Azure Data Exploreru.
Parametr | Notes |
---|---|
Zeměpisná blízkost komponent | Umístěte všechny komponenty do stejné oblasti:
|
Počet jednotek DIU | Jeden virtuální počítač pro všechny čtyři jednotky DIU používané službou ADF. Zvýšení jednotek DIU pomáhá pouze v případě, že zdrojem je úložiště založené na souborech s více soubory. Každý virtuální počítač pak paralelně zpracuje jiný soubor. Proto kopírování jednoho velkého souboru má vyšší latenci než kopírování několika menších souborů. |
Množství a skladová položka clusteru Azure Data Exploreru | Vysoký počet uzlů Azure Data Exploreru zvyšuje dobu zpracování příjmu dat. Použití vývojových skladových položek výrazně omezí výkon. |
Rovnoběžnost | Pokud chcete zkopírovat velké množství dat z databáze, rozdělte data do oddílů a pak použijte smyčku ForEach, která kopíruje každý oddíl paralelně nebo používá hromadnou kopii z databáze do šablony Azure Data Exploreru. Poznámka: >Stupeň paralelismu v aktivita Copy není pro Azure Data Explorer relevantní. |
Složitost zpracování dat | Latence se liší podle formátu zdrojového souboru, mapování sloupců a komprese. |
Virtuální počítač se spuštěným prostředím Integration Runtime |
|
Tipy a běžné nástrahy
Monitorování průběhu aktivity
Při monitorování průběhu aktivity může být zapsaná data větší než vlastnost Čtení dat, protože čtení dat se počítá podle velikosti binárního souboru, zatímco data zapsaná se po deserializaci a dekompresi dat vypočítají podle velikosti v paměti.
Při monitorování průběhu aktivity uvidíte, že se data zapisuje do jímky Azure Data Exploreru. Při dotazování tabulky Azure Data Exploreru uvidíte, že data nepřišla. Důvodem je, že při kopírování do Azure Data Exploreru existují dvě fáze.
- První fáze přečte zdrojová data, rozdělí je na 900 MB bloků dat a nahraje každý blok dat do objektu blob Azure. První fáze je zobrazena zobrazením průběhu aktivity ADF.
- Druhá fáze začíná po nahrání všech dat do objektů blob Azure. Uzly clusteru stahují objekty blob a ingestují data do tabulky jímky. Data se pak zobrazí v tabulce Azure Data Exploreru.
Selhání ingestování souborů CSV kvůli nesprávnému zapouzdření
Azure Data Explorer očekává, že soubory CSV odpovídají dokumentu RFC 4180. Očekává se:
- Pole obsahující znaky, které vyžadují zapouzdření (například " a nové řádky), by měla začínat a končit znakem " bez prázdných znaků. Všechny znaky uvnitř pole jsou uvozené pomocí dvojitého znaku ("). Například "Hello, "World"" je platný soubor CSV s jedním záznamem, který má jeden sloupec nebo pole s obsahem Hello, World.
- Všechny záznamy v souboru musí mít stejný počet sloupců a polí.
Azure Data Factory umožňuje zpětné lomítko (řídicí znak). Pokud vygenerujete soubor CSV se znakem zpětného lomítka pomocí azure Data Factory, příjem dat souboru do Azure Data Exploreru selže.
Příklad
Následující textové hodnoty: Hello, "World"
ABC DEF
"ABC\D"EF
"ABC DEF
Měl by se zobrazit ve správném souboru CSV následujícím způsobem: "Hello, ""World""
"ABC DEF"
"""ABC\D""EF"
"""ABC DEF"
Při použití výchozího řídicího znaku (zpětné lomítko) nebude s Azure Data Explorerem fungovat následující sdílený svazek clusteru: "Hello, "World".
"ABC DEF"
""ABC\D"EF"
""ABC DEF"
Vnořené objekty JSON
Při kopírování souboru JSON do Azure Data Exploreru mějte na paměti, že:
- Pole nejsou podporována.
- Pokud struktura JSON obsahuje datové typy objektů, Azure Data Factory zploštějí podřízené položky objektu a pokusí se namapovat každou podřízenou položku na jiný sloupec v tabulce Azure Data Exploreru. Pokud chcete, aby se celá položka objektu namapovala na jeden sloupec v Azure Data Exploreru:
- Ingestování celého řádku JSON do jednoho dynamického sloupce v Azure Data Exploreru
- Ručně upravte definici kanálu pomocí editoru JSON služby Azure Data Factory. V mapováních
- Odeberte více mapování vytvořených pro každou podřízenou položku a přidejte jedno mapování, které mapuje typ objektu na sloupec tabulky.
- Za pravou hranatou hranatou závorku přidejte čárku následovanou:
"mapComplexValuesToString": true
.
Zadání dalších vlastností při kopírování do Azure Data Exploreru
Další vlastnosti příjmu dat můžete přidat tak, že je zadáte v aktivitě kopírování v kanálu.
Přidání vlastností
Ve službě Azure Data Factory vyberte nástroj Tužka pro tvorbu.
V části Kanál vyberte kanál, do kterého chcete přidat další vlastnosti příjmu dat.
Na plátně Aktivity vyberte aktivitu kopírování dat .
V podrobnostech o aktivitě vyberte Jímka a potom rozbalte Další vlastnosti.
Vyberte Nový, podle potřeby vyberte Přidat uzel nebo Přidat pole a pak zadejte název a hodnotu vlastnosti příjmu dat. Tento krok opakujte a přidejte další vlastnosti.
Po dokončení uložení a publikování kanálu.