Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek se zabývá přírůstkovou aktualizací dat v Toku dat Gen2 pro službu Data Factory od Microsoft Fabric. Když k příjmu a transformaci dat používáte toky dat, někdy potřebujete aktualizovat jenom nová nebo aktualizovaná data – zejména s tím, jak se data zvětšují.
Přírůstková aktualizace vám pomůže:
- Zkrátit dobu aktualizace
- Zajištění větší spolehlivosti operací díky tomu, že se vyhnete dlouhotrvajícím procesům
- Použití menšího počtu prostředků
Prerequisites
Pokud chcete v Datovém toku Gen2 použít přírůstkovou aktualizaci, potřebujete:
- Kapacita síťové struktury
- Zdroj dat, který podporuje posouvání (doporučeno) a obsahuje sloupec Date/DateTime pro filtrování dat.
- Cíl dat, který podporuje přírůstkovou aktualizaci (viz Podpora cíle)
- Než začnete, projděte si omezení .
Cílová podpora
Tato datová úložiště podporují postupnou aktualizaci.
- Fabric Lakehouse
- Fabric Warehouse
- Azure SQL Database
Můžete také použít jiná cílová místa s přírůstkovou aktualizací. Vytvořte druhý dotaz, který odkazuje na fázovaná data pro aktualizaci cíle. Tento přístup vám umožňuje i nadále použít přírůstkovou aktualizaci pro snížení množství dat, která je třeba zpracovat ze zdrojového systému. Budete ale muset provést úplnou aktualizaci z připravených dat do konečného cíle.
Kromě toho se pro přírůstkovou aktualizaci nepodporuje výchozí cílová konfigurace. V nastavení dotazu musíte explicitně definovat cíl.
Jak používat přírůstkovou aktualizaci
Vytvořte nový tok dat Gen2 nebo otevřete existující.
V editoru toku dat vytvořte nový dotaz, který získá data, která chcete aktualizovat přírůstkově.
Zkontrolujte náhled dat a ujistěte se, že dotaz vrací data pomocí sloupce DateTime, Date nebo DateTimeZone pro filtrování.
Ujistěte se, že se dotaz plně přeloží, což znamená, že se dotaz odešle do zdrojového systému. Pokud se plně nepřeloží, upravte dotaz tak, aby to udělal. Pokud chcete zkontrolovat, zda se váš dotaz plně složí, podívejte se na kroky dotazu v editoru dotazů.
Klikněte pravým tlačítkem myši na dotaz a vyberte Přírůstková aktualizace.
Nakonfigurujte požadovaná nastavení pro přírůstkovou aktualizaci.
- Zvolte sloupec DateTime, podle které chcete filtrovat.
- Extrahujte data z minulosti.
- Velikost kbelíku
- Extrahujte nová data pouze v případě, že se změní maximální hodnota v tomto sloupci.
V případě potřeby nakonfigurujte upřesňující nastavení.
- Vyžaduje, aby dotaz na přírůstkovou aktualizaci byl plně optimalizován.
Vyberte OK a uložte nastavení.
Pokud chcete, nastavte pro dotaz cíl dat. Proveďte to před první přírůstkovou aktualizací nebo cíl bude obsahovat pouze přírůstkově změněná data od poslední aktualizace.
Publikujte Dataflow Gen2.
Po nakonfigurování přírůstkové aktualizace tok dat automaticky aktualizuje data přírůstkově na základě vašeho nastavení. Tok dat získá jenom data, která se od poslední aktualizace změnila, takže běží rychleji a využívá méně prostředků.
Jak přírůstková aktualizace funguje na pozadí
Přírůstková aktualizace rozdělí data do kbelíků na základě sloupce DateTime. Každý kbelík obsahuje data, která se od poslední aktualizace změnila. Tok dat ví, co se změnilo kontrolou maximální hodnoty ve sloupci, který jste zadali.
Pokud se maximální hodnota změnila pro tento bucket, datový tok obdrží celý segment a nahrazuje data v cílovém bodě. Pokud se maximální hodnota nezměnila, tok dat nezískal žádná data. Tady je postup, jak funguje krok za krokem.
První krok: Vyhodnocení změn
Když se tok dat spustí, nejprve zkontroluje, co se ve zdroji dat změnilo. Podívá se na maximální hodnotu ve sloupci DateTime a porovná ji s maximální hodnotou z poslední aktualizace.
Pokud se změnila maximální hodnota (nebo pokud je to vaše první aktualizace), tok dat označí tento kbelík jako změněný a zpracuje ho. Pokud je maximální hodnota stejná, tok dat tento segment úplně přeskočí.
Druhý krok: Získání dat
Dataflow nyní získává data pro každé změněné úložiště. Zpracovává více kbelíků současně, aby urychlil práci.
Tok dat načte tato data do přechodné oblasti. Načte pouze data, která spadají do časového rozsahu úložiště – to znamená pouze data, která se od vaší poslední aktualizace skutečně změnila.
Poslední krok: Nahrazení dat v cíli
Tok dat aktualizuje cílové umístění novými daty. Používá přístup "replace": nejprve odstraní stará data pro daný konkrétní kbelík a pak vloží nová data.
Tento proces má vliv pouze na data v časovém rozsahu kbelíku. Všechna data mimo tento rozsah (například starší historická data) zůstanou nedotčená.
Vysvětlení nastavení pro přírůstkovou aktualizaci
Pokud chcete nakonfigurovat přírůstkovou aktualizaci, musíte zadat tato nastavení.
Obecná nastavení
Tato nastavení jsou povinná a určují základní konfiguraci přírůstkové aktualizace.
Zvolte sloupec DateTime, podle které chcete filtrovat.
Toto požadované nastavení určuje sloupec, který toky dat používají k filtrování dat. Tento sloupec by měl být typu DateTime, Date nebo DateTimeZone. Tok dat používá tento sloupec k filtrování dat a získá pouze data, která se od poslední aktualizace změnila.
Čerpat data z minulosti
Toto požadované nastavení určuje, jak daleko zpátky má tok dat extrahovat data. Toto nastavení provádí prvotní načtení dat. Tok dat získá všechna data ze zdrojového systému v zadaném časovém rozsahu. Možné hodnoty jsou:
- x dní
- x týdnů
- x měsíců
- x čtvrtletí
- x let
Pokud například zadáte 1 měsíc, tok dat získá všechna nová data ze zdrojového systému během posledního měsíce.
Velikost kbelíku
Toto požadované nastavení určuje velikost kontejnerů, které tok dat používá k filtrování dat. Tok dat rozdělí data do kbelíků na základě sloupce DateTime. Každý kbelík obsahuje data, která se od poslední aktualizace změnila. Velikost kbelíku určuje, kolik dat se zpracuje v každé iteraci:
- Menší velikost kbelíku znamená, že tok dat zpracovává v každé iteraci méně dat, ale ke zpracování všech dat vyžaduje více iterací.
- Větší velikost kontejneru znamená, že tok dat zpracovává více dat v každé iteraci, ale ke zpracování všech dat vyžaduje méně iterací.
Extrahování nových dat pouze v případě, že se změní maximální hodnota v tomto sloupci
Toto požadované nastavení určuje sloupec, který tok dat používá k určení, jestli se data změnila. Tok dat porovnává maximální hodnotu v tomto sloupci s maximální hodnotou z předchozí aktualizace. Pokud se změní maximální hodnota, tok dat získá data, která se od poslední aktualizace změnila. Pokud se maximální hodnota nezměnila, tok dat nezískal žádná data.
Extrahovat pouze data pro uzavřená období
Toto volitelné nastavení určuje, jestli by tok dat měl extrahovat pouze za uzavřená období. Pokud toto nastavení povolíte, tok dat extrahuje jenom data za období, která se ukončila. Tok dat extrahuje pouze data po celé období a neobsahuje žádná budoucí data. Pokud toto nastavení zakážete, tok dat extrahuje data pro všechna období včetně období, která nejsou úplná a neobsahují budoucí data.
Pokud máte například sloupec DateTime, který obsahuje datum transakce a chcete aktualizovat pouze dokončené měsíce, můžete toto nastavení povolit s velikostí kbelíku month. Tok dat extrahuje data jenom za celé měsíce a nebude extrahovat data za neúplné měsíce.
Upřesňující nastavení
Některá nastavení se považují za pokročilá a ve většině scénářů se nevyžadují.
Vyžadovat, aby dotaz přírůstkové aktualizace měl plnou skládací schopnost.
Toto nastavení určuje, jestli se dotaz přírůstkové aktualizace musí "plně složit". Když se dotaz plně složí, úplně se posune do zdrojového systému pro zpracování.
Pokud toto nastavení povolíte, musí se dotaz plně sbalovat. Pokud ho zakážete, dotaz může být částečně zpracován tokem dat místo vašeho zdrojového systému.
Důrazně doporučujeme zachovat toto nastavení povolené. Zajišťuje, že po uložení toku dat ověříme, jestli je možné posouvání dotazů do zdroje. Pokud toto ověření selže, může tok dat mít snížený výkon a může skončit načítání nepotřebných, nefiltrovaných dat.
V některých případech se během vytváření může zobrazit zelený indikátor posouvání. Pokud ale ověříme konečnou definici toku dat, nemusí být posouvání možné; Pokud například krok, jako je Table.SelectRows, přeruší skládání. To může vést k chybě ověření.
Limitations
Podpora lakehouse přináší dodatečná omezení.
Při práci s lakehousem jako cílem dat mějte na paměti tato omezení:
Maximální počet souběžných vyhodnocení je 10. To znamená, že tok dat může vyhodnotit pouze 10 kbelíků najednou. Pokud máte více než 10 kontejnerů, musíte omezit počet kontejnerů nebo omezit počet souběžných vyhodnocení.
Při zápisu do lakehouse tok dat sleduje, které soubory zapisuje. To odpovídá standardním postupům lakehouse.
Tady je ale háček: pokud do stejné tabulky zapisují i jiné nástroje (například Spark) nebo procesy, mohou kolidovat s inkrementální aktualizací. Při používání přírůstkové aktualizace doporučujeme vyhnout se uživatelům zapisujícím data.
Pokud musíte použít jiné procesy pro zápis, ujistěte se, že nezasahují do procesu přírůstkové aktualizace. Také operace údržby tabulek, jako je OPTIMIZE nebo REORG TABLE, nejsou podporovány pro tabulky, které používají přírůstkovou aktualizaci.
Pokud k připojení ke zdrojům dat využíváte bránu dat, ujistěte se, že je brána aktualizovaná na alespoň verzi aktualizace z května 2025 (3000.270) nebo novější. To je zásadní pro zachování kompatibility a zajištění správného fungování přírůstkové aktualizace s cíli lakehouse.
Přechod z nekrementální na přírůstkovou aktualizaci s existujícími překrývajícími se daty v cíli se nepodporuje. Pokud cíl lakehouse již obsahuje data pro kontejnery, které se překrývají s přírůstkovými kontejnery definovanými v nastavení, systém nemůže bezpečně převést na přírůstkovou aktualizaci bez přepsání celé tabulky Delta. Doporučujeme filtrovat počáteční příjem dat tak, aby obsahoval pouze data před nejstarším přírůstkovým intervalem, aby se zabránilo překrývání a zajistilo správné chování aktualizace.
Cíl dat musí být nastavený na pevné schéma.
Cíl dat musí být nastaven na pevné schéma, což znamená, že schéma tabulky v cíli dat musí být pevné a nesmí se měnit. Pokud je schéma tabulky v cíli dat nastavené na dynamické schéma, musíte ho před konfigurací přírůstkové aktualizace změnit na pevné schéma.
Jediná podporovaná metoda aktualizace v cíli dat je replace
Jedinou podporovanou metodou aktualizace v cíli dat je replace, což znamená, že tok dat nahradí data pro každý kontejner v cíli dat novými daty. Na data mimo rozsah zásobníku to však nemá vliv. Pokud máte data v cíli dat, která jsou starší než první kbelík, přírůstková aktualizace tato data neovlivní.
Maximální počet kbelíků je 50 pro jeden dotaz a 150 pro celý tok dat.
Každý dotaz dokáže zpracovat až 50 kbelíků. Pokud máte více než 50 kbelíků, budete muset zvětšit velikost kontejneru nebo zkrátit časový rozsah, aby se snížil počet.
Pro celý tok dat je limit 150 kbelíků celkem. Pokud dosáhnete tohoto limitu, můžete snížit počet dotazů pomocí přírůstkové aktualizace nebo zvětšit velikost kontejneru napříč dotazy.
Rozdíly mezi přírůstkovou aktualizací v datových tocích Gen1 a Gen2
Mezi Dataflow Gen1 a Dataflow Gen2 existují určité rozdíly v tom, jak funguje přírůstková aktualizace. Tady jsou hlavní rozdíly:
Funkce první třídy: Přírůstková aktualizace je nyní prvotřídní funkcí v Toku dat Gen2. V Toku dat Gen1 jste po publikování toku dat nakonfigurovali přírůstkovou aktualizaci. V Toku dat Gen2 ho můžete nakonfigurovat přímo v editoru toku dat. To usnadňuje konfiguraci a snížení rizika chyb.
Žádná historická oblast dat: V Toku dat Gen1 jste při konfiguraci přírůstkové aktualizace zadali historický rozsah dat. V Dataflow Gen2 tento rozsah nezadáte. Tok dat neodstraňuje žádná data z cíle, která se nachází mimo rozsah bucketu. Pokud máte data v cíli, která jsou starší než první kbelík, přírůstková aktualizace to neovlivní.
Automatické parametry: V Toku dat Gen1 jste při konfiguraci zadali parametry pro přírůstkovou aktualizaci. V Toku dat Gen2 nezadáte tyto parametry. Tok dat automaticky přidá filtry a parametry jako poslední krok v dotazu.
časté otázky
Zobrazilo se mi upozornění, že jsem ke zjišťování změn a filtrování použil stejný sloupec. Co to znamená?
Pokud se zobrazí toto upozornění, znamená to, že sloupec, který jste zadali pro detekci změn, se používá také k filtrování dat. Nedoporučujeme to, protože to může vést k neočekávaným výsledkům.
Místo toho k detekci změn a filtrování dat použijte jiný sloupec. Pokud se data mezi kontejnery přesunou, tok dat nemusí správně rozpoznat změny a může v cíli vytvořit duplicitní data.
Toto upozornění můžete vyřešit pomocí jiného sloupce pro detekci změn a filtrování dat. Nebo můžete upozornění ignorovat, pokud jste si jistí, že se data mezi aktualizacemi zadaného sloupce nemění.
Chci použít přírůstkovou aktualizaci s datovým cílem, který není podporován. Co mám dělat?
Pokud chcete použít přírůstkovou aktualizaci s datovým cílem, který ji nepodporuje, můžete postupovat takto:
Povolte přírůstkovou aktualizaci dotazu a vytvořte druhý dotaz, který odkazuje na fázovaná data. Pak pomocí tohoto druhého dotazu aktualizujte konečný cíl. Tento přístup nadále omezuje zpracování dat z vašeho zdrojového systému, ale budete muset provést kompletní aktualizaci z fázovaných dat do konečného cíle.
Ujistěte se, že jste správně nastavili okno a velikost kbelíku. Nezaručujeme, že připravená data zůstanou dostupná mimo rozsah úložiště.
Další možností je použít vzor přírůstkového shromažďování. Projděte si naši příručku: Přírůstkové shromažďování dat s Dataflow Gen2.
Jak zjistím, jestli má můj dotaz povolenou přírůstkovou aktualizaci?
Pokud je u dotazu povolená přírůstková aktualizace, můžete zkontrolovat ikonu vedle dotazu v editoru toku dat. Pokud ikona obsahuje modrý trojúhelník, je povolená přírůstková aktualizace. Pokud ikona neobsahuje modrý trojúhelník, přírůstková aktualizace není povolená.
Když používám přírůstkovou aktualizaci, zdroj je zatížen příliš mnoha požadavky. Co mám dělat?
Můžete řídit, kolik požadavků tok dat odesílá do zdrojového systému. Postupujte následovně:
Přejděte do globálního nastavení toku dat a vyhledejte nastavení paralelních vyhodnocení dotazů. Nastavte toto na nižší číslo, abyste snížili počet požadavků odeslaných do zdrojového systému. To pomáhá snížit zatížení vašeho zdroje a zlepšit jeho výkon.
Toto nastavení najdete tak, že přejdete na kartu >Škálování globálního nastavení > a nastavíte maximální počet vyhodnocení paralelních dotazů.
Tento limit doporučujeme použít jenom v případě, že váš zdrojový systém nemůže zpracovat výchozí počet souběžných požadavků.
Chci použít přírůstkovou aktualizaci, ale po povolení vidím, že aktualizace toku dat trvá déle. Co mám dělat?
Přírůstková aktualizace by měla urychlit tok dat tím, že zpracuje méně dat. Ale někdy se stane opak. Obvykle to znamená, že režie při správě kontejnerů a kontrola změn trvá déle, než ušetříte zpracováním méně dat.
Tady je postup, který můžete vyzkoušet:
Upravte nastavení: Zvětšete velikost kontejneru, abyste snížili počet kbelíků. Menší počet kbelíků znamená nižší režijní náklady při jejich správě.
Zkuste úplnou aktualizaci: Pokud úprava nastavení nepomůže, zvažte zakázání přírůstkové aktualizace. Úplná aktualizace může být ve skutečnosti efektivnější pro váš konkrétní scénář.