Průvodce mapováním toků dat a průvodce laděním

VZTAHUJE SE NA: Azure Data Factory Azure Synapse Analytics

Tip

Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF lze upgradovat na Fabric pro přístup k novým funkcím v oblastech datové vědy, analýz v reálném čase a vytváření sestav.

Mapování toků dat v kanálech Azure Data Factory a Synapse poskytuje rozhraní bez kódu pro návrh a spouštění transformací dat ve velkém měřítku. Pokud nejste obeznámeni s mapováním toků dat, podívejte se na Přehled mapování datových toků. Tento článek popisuje různé způsoby ladění a optimalizace toků dat tak, aby splňovaly vaše srovnávací testy výkonu.

Podívejte se na následující video, kde uvidíte ukázku časování transformace dat pomocí toků dat.

Monitorování výkonu toku dat

Jakmile ověříte logiku transformace pomocí režimu ladění, spusťte tok dat od začátku do konce jako aktivitu v datovém kanálu. Toky dat jsou v kanálu zprovozněné pomocí aktivity spuštění toku dat. Aktivita toku dat má jedinečné prostředí pro monitorování v porovnání s jinými aktivitami, které zobrazují podrobný plán provádění a profil výkonu logiky transformace. Pokud chcete zobrazit podrobné informace o monitorování toku dat, vyberte ikonu brýle ve výstupu spuštění aktivity kanálu. Další informace najdete v tématu Monitorování mapování toků dat.

Tok dat Monitor

Při monitorování výkonu toku dat existují čtyři možná kritická místa, na která byste se měli podívat:

  • Čas spuštění clusteru
  • Čtení ze zdroje
  • Čas transformace
  • Zápis do jímky

Monitorování toku dat

Doba spuštění clusteru je doba potřebnou ke spuštění clusteru Apache Spark. Tato hodnota se nachází v pravém horním rohu obrazovky monitorování. Toky dat běží na modelu just-in-time, kde každá úloha používá izolovaný klastr. Tato doba spuštění obvykle trvá 3 až 5 minut. U sekvenčních úloh lze zkrátit čas spuštění tím, že povolíte hodnotu času života. Další informace najdete v části Time to live v výkonu Integration Runtime.

Toky dat využívají optimalizátor Sparku, který změní pořadí a spouští obchodní logiku ve fázích, aby bylo možné co nejrychleji provádět. Pro každou jímku, do které tok dat zapisuje, uvádí výstup monitorování dobu trvání každé fáze transformace spolu s časem potřebným k zápisu dat do jímky. Čas, který je největší, je pravděpodobně kritickým bodem vašeho toku dat. Pokud fáze transformace, která trvá nejdéle, obsahuje zdroj, můžete se podívat na další optimalizaci doby čtení. Pokud transformace trvá dlouhou dobu, možná budete muset změnit rozdělení nebo zvětšit velikost prostředí Integration Runtime. Pokud je zpracování výstupního kanálu časově náročné, bude potřeba škálovat databázi nebo ověřit, že nezapisujete výstup do jednoho souboru.

Jakmile zjistíte kritický bod toku dat, využijte následující strategie optimalizace ke zlepšení výkonu.

Testování logiky toku dat

Při navrhování a testování toků dat z uživatelského rozhraní vám režim ladění umožňuje interaktivně testovat na živém clusteru Spark, který umožňuje zobrazit náhled dat a spouštět toky dat bez čekání na zahřátí clusteru. Další informace naleznete v tématu Režim ladění.

Karta Optimalizace

Karta Optimalizovat obsahuje nastavení pro konfiguraci schématu dělení clusteru Spark. Tato karta je k dispozici u každé transformace toku dat a určuje, zda chcete data po dokončení transformace rozdělit. Úprava dělení poskytuje kontrolu nad distribucí dat mezi výpočetní uzly a optimalizacemi umístění dat, které můžou mít pozitivní i negativní vliv na celkový výkon toku dat.

Snímek obrazovky znázorňující kartu Optimalizace, která obsahuje možnost Oddíl, Typ oddílu a Počet oddílů

Ve výchozím nastavení je vybrána možnost Použít aktuální dělení, která službě říká, aby zachovala aktuální výstupní dělení transformace. Vzhledem k tomu, že opětovné dělení dat nějakou dobu trvá, ve většině scénářů se doporučuje použít aktuální dělení . Scénáře, ve kterých můžete chtít reparticionovat data, zahrnují situace po agregacích a spojení, které výrazně narušují distribuci vašich dat, nebo při použití partitioningu zdroje v databázi SQL.

Pokud chcete změnit dělení u jakékoli transformace, vyberte kartu Optimalizovat a vyberte přepínač Nastavit dělení . Zobrazí se řada možností dělení. Nejlepší způsob dělení se liší v závislosti na vašich datových svazcích, kandidátských klíčích, hodnotách null a kardinalitě.

Důležité

Jeden oddíl kombinuje všechna distribuovaná data do jednoho oddílu. Jedná se o velmi pomalou operaci, která také výrazně ovlivňuje všechny podřízené transformace a zápisy. Tato možnost se důrazně nedoporučuje, pokud neexistuje explicitní obchodní důvod k jeho použití.

V každé transformaci jsou k dispozici následující možnosti dělení:

Kruhové dotazování

Způsob rozvrhu typu round robin distribuuje data rovnoměrně mezi oddíly. Použijte kruhové rozdělování, pokud nemáte vhodné klíčové kandidáty k implementaci dobře promyšlené strategie dělení. Můžete nastavit počet fyzických oddílů.

Hash

Služba vytvoří hash z hodnot sloupců, aby vznikly jednotné části, kde řádky s podobnými hodnotami spadají do stejné části. Pokud použijete možnost Hash, otestujte možnou nerovnoměrnou distribuci oddílů. Můžete nastavit počet fyzických oddílů.

Dynamický rozsah

Dynamická oblast používá dynamické rozsahy Sparku na základě sloupců nebo výrazů, které zadáte. Můžete nastavit počet fyzických oddílů.

Pevný rozsah

Vytvořte výraz, který poskytuje pevný rozsah hodnot ve sloupcích dělených dat. Abyste se vyhnuli nerovnoměrné distribuci oddílů, měli byste mít před použitím této možnosti dobrý přehled o datech. Hodnoty, které zadáte pro výraz, se použijí jako součást dělící funkce. Můžete nastavit počet fyzických oddílů.

Klíč

Pokud dobře rozumíte kardinalitě vašich dat, klíčové dělení může být dobrou strategií. Dělení klíčů vytváří oddíly pro každou jedinečnou hodnotu ve sloupci. Počet částí nelze nastavit, protože je určen na základě jedinečných hodnot v datech.

Tip

Ruční nastavení schématu dělení přeuspořádá data a může kompenzovat výhody optimalizáčního nástroje Spark. Osvědčeným postupem je nenastavovat dělení ručně, pokud ho nepotřebujete.

Úroveň protokolování

Pokud nepotřebujete, aby všechny podrobné záznamy telemetrie byly zaznamenány při každém spuštění aktivity toku dat, můžete volitelně nastavit úroveň protokolování na "Základní" nebo "Žádná". Při provádění toků dat v režimu Verbose (výchozí) požadujete, aby služba během transformace dat plně protokolovala aktivitu na úrovni jednotlivého oddílu. Může to být nákladná operace, takže povolení podrobného režimu pouze při řešení potíží může zlepšit celkový tok dat a výkon potrubí. Režim "Základní" protokoluje pouze doby trvání transformace, zatímco hodnota None bude poskytovat pouze souhrn doby trvání.

Úroveň protokolování

Podívejte se na další Tok dat články týkající se výkonu: