Integrace Azure Průzkumník dat s využitím Azure Data Factory

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 Flow 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 do bloků dat a pak stáhne objekty blob, aby je ingestal do tabulky Azure Průzkumník dat.
(Zdrojové datové úložiště ADF > Azure objekty blob > ADX)
Tyto příkazy mohou spustit dotaz nebo příkaz a ingestovat .show výsledky dotazu do tabulky (.show). Tento příkaz ingestuje data do tabulky tím, že "narazí" data z jednoho nebo více artefaktů cloudového úložiště.
Podporovaná zdrojová úložiště dat různé možnosti ADLS Gen 2, Azure Blob, SQL (pomocí modulu plug-in sql_request ()) Cosmos (pomocí modulu plug-in cosmosdb_sql_request) a jakéhokoli jiného úložiště dat, které poskytuje rozhraní api pro HTTP nebo Python. systém souborů, Azure Blob Storage, ADLS gen 1, ADLS gen 2
Výkon Ingestování se zařazuje do fronty a spravují, což zajišťuje ingestování v malých velikostech a zajišťuje vysokou dostupnost tím, že poskytuje vyrovnávání zatížení, opakované pokusy a zpracování chyb.
  • Tyto příkazy nejsou navržené pro import dat s velkým objemem dat.
  • Funguje podle očekávání a levnějšího. Ale v produkčních scénářích a v případě velkých objemů provozu a velikosti dat použijte aktivitu kopírování.
Omezení serveru
  • Bez omezení velikosti.
  • Maximální časový limit: 1 hodina na ingestný objekt BLOB.
  • V části dotazu je pouze omezení velikosti, které lze přeskočit zadáním noTruncation=true .
  • Maximální časový limit: 1 hodina
  • Bez omezení velikosti.
  • Maximální časový limit: 1 hodina

Tip

  • Při kopírování dat z ADF do Azure Průzkumník dat použít ingest from query příkazy.
  • U velkých datových sad ( > 1 GB) použijte aktivitu kopírování.

Požadovaná oprávnění

Následující tabulka uvádí požadovaná oprávnění pro různé kroky v integraci 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áze
Přihlášený uživatel pomocí 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 ingestování tabulek
Instanční objekt by měl mít oprávnění spouštět příkazy na úrovni databáze .show nebo přijímání na úrovni tabulky.
  • TestConnection ověří připojení ke clusteru, a ne 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 databáze .show .
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.
Importovat schéma prohlížeč databáze
Instanční objekt musí mít oprávnění ke čtení metadat databáze.
Když je Azure Průzkumník dat zdrojem tabulkového a tabelárního kopírování, ADF automaticky importuje schéma, i když uživatel neimportuje schéma explicitně.
ADX jako jímka Vytvořit mapování sloupce podle názvu monitorování databáze
Instanční objekt musí být autorizovaný pro spouštění příkazů na úrovni databáze .show .
  • Všechny povinné operace budou fungovat s ingestování tabulek.
  • Některé volitelné operace mohou selhat.
  • Vytvoření mapování sdíleného svazku clusteru v tabulce
  • Zrušení mapování
ingestování tabulek nebo správce databáze
Instanční objekt musí mít autorizaci k provádění změn v tabulce.
Ingestace dat ingestování tabulek nebo správce databáze
Instanční objekt musí mít autorizaci k provádění změn v tabulce.
ADX as source Spustit dotaz prohlížeč databáze
Instanční objekt musí mít oprávnění ke čtení metadat databáze.
Kusto – příkaz Podle úrovně oprávnění jednotlivých příkazů.

Výkon

Pokud je Azure Průzkumník dat zdrojem a používáte aktivitu vyhledávání, kopírování nebo příkazu, která obsahuje dotaz, kde najdete informace o osvědčených postupech pro informace o výkonu a dokumentaci k ADF pro aktivitu kopírování.

V této části se řeší použití aktivity kopírování, kde je Azure Průzkumník dat jímka. Odhadovaná propustnost pro jímku služby Azure Průzkumník dat je 11-13 MB/s. Následující tabulka popisuje parametry, které ovlivňují výkon jímky Průzkumník dat služby Azure.

Parametr Poznámky
Geografické okolí součástí Všechny komponenty umístěte do stejné oblasti:
  • zdrojová data a úložiště dat jímky.
  • Prostředí Integration runtime ADF.
  • Váš cluster Azure Průzkumník dat.
Ujistěte se, že alespoň váš modul runtime integrace je ve stejné oblasti jako váš cluster Azure Průzkumník dat.
Počet DIUs 1 virtuální počítač pro každé 4 DIUs, kterou používá ADF.
Zvýšení DIUs vám pomůže jenom v případě, že váš zdroj ukládá soubor s více soubory. Každý virtuální počítač potom zpracuje jiný soubor paralelně. Proto bude mít kopírování jednoho velkého souboru větší latenci než kopírování více menších souborů.
Množství a SKU clusteru ADX Vysoký počet uzlů Azure Průzkumník dat zvýší dobu zpracování příjmu. Použití vývojových SKU pro vývoj vážně omezí výkon.
Paralelismu Chcete-li zkopírovat velmi velké množství dat z databáze, vytvořte oddíly dat a pak použijte smyčku ForEach, která každý oddíl zkopíruje paralelně, nebo použijte šablonu hromadného kopírování z databáze do služby Azure Průzkumník dat. poznámka: Nastavenístupeň paralelismu v aktivitě kopírování není relevantní pro Azure Průzkumník dat.
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
  • Pro Azure kopírování, virtuální počítače ADF a SKU počítačů se nedají změnit.
  • V případě Prem do Azure Copy určete, že virtuální počítač hostující vaše místní prostředí IR je dostatečně silný.

Tipy a běžné nástrah

Průběh aktivity monitorování

  • Když sledujete průběh aktivity, vlastnost zapsaná data může být mnohem 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čítají podle velikosti v paměti, a to po deserializaci a dekomprimaci dat.

  • Když sledujete průběh aktivity, vidíte, že se data zapisují do jímky Azure Průzkumník dat. Při dotazování tabulky Azure Průzkumník dat vidíte, že data nebyla doručena. Důvodem je to, že při kopírování do Azure Průzkumník dat existují dvě fáze.

    • První fáze přečte zdrojová data, rozdělí je na 900 MB bloků dat a nahraje jednotlivé bloky do objektu blob Azure. První fáze se zobrazuje v zobrazení průběh aktivity ADF.
    • Druhá fáze začíná, jakmile se všechna data nahrají do objektů blob Azure. Uzly modulu Azure Průzkumník dat stáhnou objekty BLOB a ingestují data do tabulky jímky. Data se pak zobrazují v tabulce Azure Průzkumník dat.

Kvůli nesprávnému uvozovacímu souboru se nepodařilo ingestovat soubory CSV.

Azure Průzkumník dat očekává, že soubory CSV zarovnají specifikaci RFC 4180. Očekává se:

  • Pole, která obsahují znaky, které vyžadují uvozovací znaky (například "a nové řádky), by měly začínat a končit znakem " bez prázdných znaků. Všechny " znaky v poli jsou uvozeny pomocí dvojitého " znaku (""). Například "Hello" "World" "je platný soubor CSV s jedním záznamem s jedním sloupcem nebo polem s obsahem Hello" World ".
  • Všechny záznamy v souboru musí mít stejný počet sloupců a polí.

Azure Data Factory umožňuje znak zpětného lomítka (Escape). Pokud vygenerujete soubor CSV s znakem zpětného lomítka pomocí Azure Data Factory, ingestování souboru do Azure Průzkumník dat se nezdaří.

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 (svět).
"ABC DEF"
"" ABC DEF "
"" "ABC\D" "EF"

Když použijete výchozí řídicí znak (zpětné lomítko), následující soubor CSV nebude fungovat s Azure Průzkumník dat: "Hello", World ""
"ABC DEF"
"" ABC DEF "
"" ABC\D "EF"

Vnořené objekty JSON

Při kopírování souboru JSON do Azure Průzkumník dat mějte na paměti, že:

  • Pole nejsou podporována.
  • Pokud vaše struktura JSON obsahuje datové typy objektů, Azure Data Factory provede sloučení podřízených položek objektu a pokusí se namapovat každou podřízenou položku na jiný sloupec v tabulce Azure Průzkumník dat. Pokud chcete, aby byla celá položka objektu namapována na jeden sloupec v Azure Průzkumník dat:
    • Ingestuje celý řádek JSON do jednoho dynamického sloupce v Azure Průzkumník dat.
    • Ručně upravte definici kanálu pomocí editoru JSON Azure Data Factory. V mapování
      • Odeberte vícenásobná 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, za kterou následuje:
        "mapComplexValuesToString": true.

Zadejte AdditionalProperties při kopírování do Azure Průzkumník dat

Poznámka

Tato funkce je aktuálně dostupná ruční úpravou datové části JSON.

V části jímka aktivity kopírování přidejte jeden řádek následujícím způsobem:

"sink": {
    "type": "AzureDataExplorerSink",
    "additionalProperties": "{\"tags\":\"[\\\"drop-by:account_FiscalYearID_2020\\\"]\"}"
},

Uvozovací znaky hodnoty mohou být obtížné. Jako referenci použijte následující fragment kódu:

static void Main(string[] args)
{
       Dictionary<string, string> additionalProperties = new Dictionary<string, string>();
       additionalProperties.Add("ignoreFirstRecord", "false");
       additionalProperties.Add("csvMappingReference", "Table1_mapping_1");
       IEnumerable<string> ingestIfNotExists = new List<string> { "Part0001" };
       additionalProperties.Add("ingestIfNotExists", JsonConvert.SerializeObject(ingestIfNotExists));
       IEnumerable<string> tags = new List<string> { "ingest-by:Part0001", "ingest-by:IngestedByTest" };
       additionalProperties.Add("tags", JsonConvert.SerializeObject(tags));
       var additionalPropertiesForPayload = JsonConvert.SerializeObject(additionalProperties);
       Console.WriteLine(additionalPropertiesForPayload);
       Console.ReadLine();
}

Vytištěná hodnota:

{"ignoreFirstRecord":"false","csvMappingReference":"Table1_mapping_1","ingestIfNotExists":"[\"Part0001\"]","tags":"[\"ingest-by:Part0001\",\"ingest-by:IngestedByTest\"]"}

Další kroky

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 aktivity s daty. ADF umožňuje vytvářet pracovní postupy řízené daty pro orchestraci a automatizaci přesunu dat a transformaci dat. Azure Průzkumník dat je jedním z podporovaných úložišť dat v Azure Data Factory.

Aktivity Azure Data Factory pro Azure Průzkumník dat

Pro uživatele Azure Průzkumník dat jsou k dispozici různé integrace s Azure Data Factory:

Aktivita kopírování

Aktivita kopírování Azure Data Factory slouží k přenosu dat mezi úložišti dat. Azure Průzkumník dat se podporuje jako zdroj, kde se data zkopírují z Azure Průzkumník dat do libovolného podporovaného úložiště dat a jímky, kde se data zkopírují z libovolného podporovaného úložiště dat do Azure Průzkumník dat. Další informace najdete v tématu kopírování dat do nebo z Azure Průzkumník dat pomocí Azure Data Factory. podrobný návod najdete v tématu načtení dat z Azure Data Factory do Azure Průzkumník dat. Azure Průzkumník dat podporuje aplikace Azure IR (Integration Runtime), která se používá při kopírování dat v Azure, a v místním prostředí IR, které se používá při kopírování dat z nebo do úložišť dat umístěných místně nebo v síti s řízením přístupu, jako je například Virtual Network Azure. Další informace najdete v tématu který IR použít .

Tip

Když použijete aktivitu kopírování a vytvoříte propojenou službu nebo datovou sadu, vyberte úložiště dat Azure Průzkumník dat (Kusto) , a ne staré Kustoúložiště dat.

Aktivita vyhledávání

Aktivita vyhledávání se používá ke spouštění dotazů v Azure Průzkumník dat. Výsledek dotazu bude vrácen jako výstup aktivity vyhledávání a lze jej použít v další aktivitě v kanálu, jak je popsáno v dokumentaci pro vyhledávání ADF.

Kromě omezení velikosti odpovědi 5 000 řádků a 2 MB má tato aktivita také časový limit dotazu 1 hodina.

Aktivita příkazu

Aktivita příkazu umožňuje spuštění příkazů pro řízeníPrůzkumník dat Azure. Na rozdíl od dotazů mohou příkazy pro řízení upravovat data nebo metadata. Některé z řídicích příkazů jsou zaměřené na ingestování dat do Azure Průzkumník dat, použití příkazů, jako je .ingest nebo .set-or-append ) nebo kopírování dat z Azure Průzkumník dat do externích úložišť dat pomocí příkazů, jako je .export . Podrobný návod k aktivitě příkazu najdete v tématu použití aktivity příkazu Azure Data Factory ke spuštění příkazů řízení Azure Průzkumník dat. Použití řídicího příkazu ke kopírování dat může být někdy rychlejší a levnější než aktivita kopírování. Pokud chcete zjistit, kdy se má použít aktivita příkazu versus aktivita kopírování, přečtěte si téma Výběr mezi aktivitami kopírování a příkazem při kopírování dat.

Hromadné kopírování ze šablony databáze

Hromadné kopírování z databáze do Azure Průzkumník dat pomocí šablony Azure Data Factory je předdefinovaný Azure Data Factory kanál. Šablona se používá k vytvoření mnoha kanálů pro každou databázi nebo pro každou tabulku pro rychlejší kopírování dat.

Toky dat mapování

Azure Data Factory mapování datových toků jsou vizuálně navržené transformace dat, které umožňují datovým technikům vyvíjet logiku transformace grafických dat bez psaní kódu. K vytvoření toku dat a ingestování dat do Azure Průzkumník dat použijte následující metodu:

  1. Vytvořte tok dat mapování.
  2. Exportujte data do objektu blob Azure.
  3. Definujte Event Grid nebo aktivitu kopírování ADF k ingestování dat do Azure Průzkumník dat.

Při kopírování dat vybrat mezi aktivitami kopírování a příkazu Azure Průzkumník 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 Průzkumník dat existují dvě dostupné možnosti v Azure Data Factory:

  • Aktivita kopírování.
  • Aktivita příkazu Azure Průzkumník dat, která spustí jeden z řídicích příkazů, které přenášejí data v Azure Průzkumník dat.

Kopírování dat z Azure Průzkumník dat

Data z Azure Průzkumník dat můžete kopírovat pomocí aktivity kopírování nebo .export příkazu. .exportPříkaz spustí dotaz a pak vyexportuje výsledky dotazu.

V následující tabulce najdete porovnání aktivity kopírování a .export příkazu pro kopírování dat z Azure Průzkumník dat.

Aktivita kopírování . Export – příkaz
popis Flow 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 ADX ADF)
ADF pošle .export Řídicí příkaz do Azure Průzkumník dat, který provede příkaz, a odešle data přímo do cílového úložiště dat.
( Úložiště dat jímky ADX)
Podporovaná cílová úložiště dat Širokou škálu podporovaných úložišť dat ADLSv2, Azure Blob, SQL Database
Výkon Centralizované
  • Distribuované (výchozí), souběžně exportují data z několika uzlů
  • Rychlejší a COGS (náklady na prodané zboží) efektivní.
Omezení serveru Omezení dotazu lze rozšířit nebo zakázat. Dotazy ADF standardně obsahují:
  • Omezení velikosti 500 000 záznamů nebo 64 MB.
  • Časový limit 10 minut.
  • noTruncation Nastavte na false.
Ve výchozím nastavení rozšiřuje nebo zakazuje omezení dotazů:
  • Omezení velikosti jsou zakázaná.
  • Časový limit serveru je prodloužen na 1 hodinu.
  • MaxMemoryConsumptionPerIterator a MaxMemoryConsumptionPerQueryPerNode jsou rozšířené na maximum (5 GB, TotalPhysicalMemory/2).

Tip

Pokud je cíl kopírování jedním z úložišť dat podporovaných .export příkazem a pokud žádné z funkcí aktivity kopírování není pro vaše potřeby zásadní, vyberte .export příkaz.

Kopírování dat do Azure Průzkumník dat

Do Azure můžete kopírovat data Průzkumník dat pomocí příkazů aktivity kopírování nebo příjmu, jako je ingestování z dotazu ( ,,, a ingestování .set-or-replace.set.replace).set-or-replace ( .ingest ).

V následující tabulce najdete srovnání aktivity kopírování a příkazů pro přijímání dat pro kopírování dat do Azure Průzkumník dat.