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 .ingestje nebo .set-or-append), nebo kopírování dat z Azure Data Explorer do externích úložišť dat pomocí příkazů, jako .exportje . 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:

  1. Vytvořte tok dat mapování.
  2. Exportujte data do objektu blob Azure.
  3. 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é
  • Distribuovaný (výchozí), export dat z více uzlů současně
  • Rychlejší a cogs (náklady na prodané zboží) efektivní.
Omezení serveru Limity dotazů je možné prodloužit nebo zakázat. Ve výchozím nastavení obsahují dotazy ADF:
  • Omezení velikosti 500 000 záznamů nebo 64 MB.
  • Časový limit 10 minut.
  • noTruncation nastaveno na hodnotu false.
Ve výchozím nastavení rozšiřuje nebo zakazuje limity dotazů:
  • Omezení velikosti jsou zakázána.
  • Časový limit serveru se prodlouží na 1 hodinu.
  • MaxMemoryConsumptionPerIterator a MaxMemoryConsumptionPerQueryPerNode jsou rozšířené na max (5 GB, TotalPhysicalMemory/2).

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.
  • Tyto příkazy nebyly navrženy pro import velkých objemů dat.
  • Funguje podle očekávání a levnější. V produkčních scénářích a v případě velkých přenosů dat ale použijte aktivita Copy.
Omezení serveru
  • Bez omezení velikosti.
  • Limit maximálního časového limitu: Jedna hodina na přijatý objekt blob.
  • Pro část dotazu platí pouze omezení velikosti, které lze přeskočit zadáním noTruncation=true.
  • Maximální časový limit: Jedna hodina.
  • Bez omezení velikosti.
  • Maximální časový limit: Jedna hodina.

Tip

  • Při kopírování dat z ADF do Azure Data Explorer používat příkazyingest 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.
  • TestConnection ověří připojení ke clusteru, nikoli k databázi. Může to být úspěšné i v případě, že databáze neexistuje.
  • Oprávnění správce tabulky nejsou dostatečná.
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.
  • Všechny povinné operace fungují s ingestorem tabulky.
  • Některé volitelné operace můžou selhat.
  • Vytvoření mapování CSV v tabulce
  • Odstranění mapování
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:
  • úložiště dat zdroje a jímky.
  • ADF Integration Runtime.
  • Váš cluster Azure Data Explorer.
Ujistěte se, že se prostředí Integration Runtime nachází ve stejné oblasti jako cluster Azure Data Explorer.
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
  • U služby Azure Copy nejde změnit skladové položky virtuálních počítačů a počítačů ADF.
  • V případě kopírování z místního prostředí do Azure určete, že virtuální počítač hostující místní prostředí IR je dostatečně silný.

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í

  1. V Azure Data Factory vyberte nástroj Tužka vytvořit.

  2. V části Kanál vyberte kanál, do kterého chcete přidat další vlastnosti příjmu dat.

  3. Na plátně Aktivity vyberte aktivitu Kopírování dat .

  4. V podrobnostech o aktivitě vyberte Jímka a pak rozbalte Další vlastnosti.

  5. 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.

  6. Po dokončení kanál uložte a publikujte.

Další krok