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 v Azure Data Factory.
aktivity Azure Data Factory pro Azure Data Explorer
Pro uživatele Azure Data Explorer jsou k dispozici různé integrace s 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, kdy se data kopírují z Azure Data Explorer do libovolného podporovaného úložiště dat, a jímka, kde se data kopírují z jakéhokoli podporovaného úložiště dat do Azure Data Explorer. Další informace najdete v tématu Kopírování dat do nebo z Azure Data Explorer pomocí Azure Data Factory. Podrobný návod najdete v tématu Načtení dat z Azure Data Factory do Azure Data Explorer. Azure Data Explorer podporuje Azure IR (Integration Runtime), používá se při kopírování dat v rámci Azure a místní prostředí IR, které se používá při kopírování dat z/do úložišť dat umístěných v místním prostředí nebo v síti s řízením přístupu, jako je azure Virtual Network. Další informace najdete v tématu , které prostředí IR 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 Explorer. 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 Command umožňuje spouštět příkazy pro správu azure Data Explorer. 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 jsou určené k příjmu dat do Azure Data Explorer pomocí příkazů, jako .ingest
je nebo .set-or-append
), nebo kopírování dat z Azure Data Explorer do externích úložišť dat pomocí příkazů, jako .export
je .
Podrobný návod k aktivitě příkazů najdete v tématu Použití aktivity příkazu Azure Data Factory ke spouštění příkazů pro správu Azure Data Explorer. Kopírování dat pomocí příkazu pro správu může být někdy rychlejší a levnější než aktivita Copy. Pokud chcete určit, kdy použít aktivitu command a kdy aktivita Copy, přečtěte si článek Výběr 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 Explorer pomocí šablony Azure Data Factory je předdefinovaný kanál 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í
Azure Data Factory mapování toků dat jsou vizuálně navržené transformace dat, které datovým inženýrům umožňují vyvíjet grafickou logiku transformace dat bez psaní kódu. Pokud chcete vytvořit tok dat a ingestovat data do Azure Data Explorer, použijte následující metodu:
- Vytvořte tok dat mapování.
- Exportujte data do objektu blob Azure.
- Definujte aktivitu kopírování ve službě Event Grid nebo ADF, která ingestuje data do Azure Data Explorer.
Výběr mezi aktivitami Kopírování a Azure Data Explorer Command 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 nebo do Azure Data Explorer existují v Azure Data Factory dvě možnosti:
- aktivita Copy.
- Aktivita Azure Data Explorer Command, která spouští jeden z příkazů pro správu, které přenášejí data v Azure Data Explorer.
Kopírování dat z Azure Data Explorer
Data z Azure Data Explorer můžete kopírovat pomocí aktivity kopírování nebo .export
příkazu . Příkaz .export
spustí dotaz a pak exportuje výsledky dotazu.
V následující tabulce najdete porovnání aktivita Copy a .export
příkazu pro kopírování dat z Azure Data Explorer.
Aktivita kopírování | Příkaz .export | |
---|---|---|
Popis toku | ADF spustí dotaz v Kusto, zpracuje výsledek a odešle ho do cílového úložiště dat. (Úložiště dat jímky Azure Data Explorer > ADF>) |
ADF odešle .export příkaz pro správu do Azure Data Explorer, 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 Explorer>*)*) |
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é prodloužit nebo zakázat. Ve výchozím nastavení obsahují dotazy ADF:
|
Ve výchozím nastavení rozšiřuje nebo zakazuje limity dotazů:
|
Tip
Pokud je cílem kopírování jedno z úložišť dat podporovaných příkazem .export
a žádná z aktivita Copy funkcí není pro vaše potřeby zásadní, vyberte .export
příkaz .
Kopírování dat do Azure Data Explorer
Data do Azure Data Explorer můžete kopírovat pomocí aktivit kopírování nebo příkazů pro příjem dat, jako jsou ingestování z dotazu (.set-or-append
, .set-or-replace
, .set
, .replace)
a ingestování z úložiště (.ingest
).
V následující tabulce najdete porovnání aktivita Copy a příkazů pro příjem dat pro kopírování dat do Azure Data Explorer.
Aktivita kopírování | Příjem dat z dotazu.set-or-append / .set-or-replace / .set / .replace |
Příjem dat 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 Explorer. (Zdrojové úložiště > dat ADF > – Objekty > blob Azure 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 tak, že je "přetáhne" z jednoho nebo několika 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 (s využitím modulu plug-in cosmosdb_sql_request) a jakékoli další úložiště dat, které poskytuje rozhraní HTTP nebo Python API. | Systém souborů, Azure Blob Storage, ADLS Gen1, ADLS Gen2 |
Výkon | Příjem dat se zařaduje do fronty a spravuje, což zajišťuje příjem dat malé velikosti a zajišťuje vysokou dostupnost díky vyrovnávání zatížení, opakovaným pokusům a zpracování chyb. |
|
|
Omezení serveru |
|
|
|
Tip
- Při kopírování dat z ADF do Azure Data Explorer používat příkazy
ingest from query
. - Pro velké datové sady (>1 GB) použijte aktivita Copy.
Požadovaná oprávnění
Následující tabulka uvádí požadovaná oprávnění pro různé kroky integrace s Azure Data Factory.
Krok | Operace | Minimální úroveň oprávnění | Poznámky |
---|---|---|---|
Vytvoření propojené služby | Navigace v databázi |
prohlížeč databází 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 název databáze zadat ručně. |
Testovat připojení |
monitorování databáze nebo table ingestor 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 pomocí 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ází Instanční objekt musí mít oprávnění ke čtení metadat databáze. |
|
Import schématu |
prohlížeč databází Instanční objekt musí mít oprávnění ke čtení metadat databáze. |
Pokud je Azure Data Explorer zdrojem kopírování mezi tabulkami, ADF importuje schéma automaticky, i když uživatel neimportoval schéma 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. |
|
|
table ingestor nebo správce databáze Instanční objekt musí mít oprávnění k provádění změn v tabulce. |
||
Ingestace dat |
table ingestor nebo správce databáze Instanční objekt musí mít oprávnění k provádění změn v tabulce. |
||
Azure Data Explorer jako zdroj | Spustit dotaz |
prohlížeč databází 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 zdrojem Azure Data Explorer a používáte aktivitu vyhledávání, kopírování nebo příkazu, která obsahuje dotaz, kde, projděte si osvědčené postupy pro dotazy pro informace o výkonu a dokumentaci ADF pro aktivitu kopírování.
Tato část se věnuje použití aktivity kopírování, kde je jímkou Azure Data Explorer. Odhadovaná propustnost pro jímku Azure Data Explorer je 11 až 13 MB/s. Následující tabulka podrobně popisuje parametry ovlivňující výkon jímky Azure Data Explorer.
Parametr | Poznámky |
---|---|
Geografická blízkost komponent | Umístěte všechny komponenty do stejné oblasti:
|
Počet jednotek DIU | Jeden virtuální počítač pro každé čtyři diu používané službou ADF. Zvýšení jednotek DIU pomůže jenom v případě, že zdrojem je souborové úložiště 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 Explorer | Vysoký počet uzlů Azure Data Explorer zvyšuje dobu zpracování příjmu dat. Použití vývojových skladových položek výrazně omezí výkon. |
Paralelnost | Pokud chcete zkopírovat velké množství dat z databáze, rozdělte data na oddíly a pak použijte smyčku ForEach, která kopíruje všechny oddíly paralelně, nebo použijte šablonu Hromadné kopírování z databáze do Azure Data Explorer. Poznámka: Nastavení>Stupeň paralelismu v aktivita Copy není relevantní pro Azure Data Explorer. |
Složitost zpracování dat | Latence se liší podle formátu zdrojového souboru, mapování sloupců a komprese. |
Virtuální počítač, na kterém běží prostředí 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 vlastnost Zápis dat větší než vlastnost Čtení dat , protože čtení dat se počítá podle velikosti binárního souboru, zatímco zapsaná data se po deserializaci a dekompresi dat počí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 Explorer. Při dotazování tabulky Azure Data Explorer uvidíte, že data nepřišla. Je to proto, že při kopírování do Azure Data Explorer existují dvě fáze.
- První fáze načte zdrojová data, rozdělí je na bloky o velikosti 900 MB a nahraje jednotlivé bloky dat do objektu blob Azure. První fázi vidí zobrazení průběhu aktivity ADF.
- Druhá fáze začne po nahrání všech dat do objektů blob Azure. Uzly vašeho clusteru stahují objekty blob a ingestují data do tabulky jímky. Data se pak zobrazí v tabulce Azure Data Explorer.
Selhání ingestování souborů CSV kvůli nesprávnému úniku
Azure Data Explorer očekává, že soubory CSV budou v souladu s dokumentem RFC 4180. Očekává:
- Pole obsahující znaky, které vyžadují únik (například " a nové řádky), by měla začínat a končit znakem " bez prázdných znaků. Všechny znaky uvnitř pole se uvozují 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 pomocí Azure Data Factory vygenerujete soubor CSV se znakem zpětného lomítka, příjem souboru do Azure Data Explorer 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 takto: "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 Explorer 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 Explorer mějte na paměti, že:
- Pole nejsou podporovaná.
- Pokud vaše 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 Explorer. Pokud chcete, aby se celá položka objektu mapovala na jeden sloupec v Azure Data Explorer:
- Ingestujte celý řádek JSON do jednoho dynamického sloupce v Azure Data Explorer.
- Ručně upravte definici kanálu pomocí editoru JSON Azure Data Factory. V mapování
- Odeberte více mapování, která byla vytvořena pro každou podřízenou položku, a přidejte jedno mapování, které mapuje typ objektu na sloupec tabulky.
- Za pravou hranatou závorku přidejte čárku následovanou:
"mapComplexValuesToString": true
.
Zadání dalších vlastností při kopírování do Azure Data Explorer
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í
V Azure Data Factory vyberte nástroj Tužka vytvořit.
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 pak rozbalte Další vlastnosti.
Vyberte Nový, vyberte Přidat uzel nebo Přidat pole podle potřeby a pak zadejte název a hodnotu vlastnosti příjmu dat. Opakováním tohoto kroku přidejte další vlastnosti.
Po dokončení kanál uložte a publikujte.