Sdílet prostřednictvím


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

  1. Vytvořte tok dat mapování.
  2. Exportujte data do objektu blob Azure.
  3. 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ý
  • Distribuovaná (výchozí) export dat z více uzlů současně
  • Rychlejší a COGS (náklady na prodané zboží) jsou efektivní.
Omezení serveru Limity dotazů je možné rozšířit nebo zakázat. Ve výchozím nastavení dotazy ADF obsahují:
  • Limit 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ázaná.
  • Časový limit serveru se prodlouží na 1 hodinu.
  • MaxMemoryConsumptionPerIterator a MaxMemoryConsumptionPerQueryPerNode jsou rozšířeny na maximum (5 GB, TotalPhysicalMemory/2).

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

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.
  • TestConnection ověří připojení ke clusteru, a ne k databázi. Může být úspěšný i v případě, že databáze neexistuje.
  • Oprávnění správce tabulky nestačí.
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.
  • Všechny povinné operace pracují s ingestorem tabulek.
  • Některé volitelné operace můžou selhat.
  • Vytvoření mapování CSV v tabulce
  • Zahoďte mapování.
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:
  • úložiště dat zdroje a jímky.
  • ADF Integration Runtime.
  • Váš cluster Azure Data Exploreru.
Ujistěte se, že alespoň vaše prostředí Integration Runtime je ve stejné oblasti jako cluster Azure Data Exploreru.
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
  • U kopírování Azure nejde změnit skladové položky ADF a skladové položky počítačů.
  • V případě místní kopie do Azure určete, že virtuální počítač, který je hostitelem místního 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 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í

  1. Ve službě Azure Data Factory vyberte nástroj Tužka pro tvorbu.

  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 potom rozbalte Další vlastnosti.

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

  6. Po dokončení uložení a publikování kanálu.

Další krok