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 vysvětluje aktualizace pipeline a obsahuje podrobnosti o tom, jak spustit aktualizaci.
Co je aktualizace pipeline?
Po vytvoření pipeliny a když jste připraveni ji spustit, zahájíte aktualizaci. Aktualizace pipeline provede následující:
- Spustí cluster se správnou konfigurací.
- Vyhledá všechny definované tabulky a zobrazení a vyhledá všechny chyby analýzy, jako jsou neplatné názvy sloupců, chybějící závislosti a chyby syntaxe.
- Vytvoří nebo aktualizuje tabulky a zobrazení s nejnovějšími dostupnými daty.
Pomocí suchého spuštění můžete zjistit problémy ve zdrojovém kódu pipeline bez čekání na vytvoření nebo aktualizaci tabulek. Tato funkce je užitečná při vývoji nebo testování kanálů, protože umožňuje rychle vyhledat a opravit chyby v kanálu, jako jsou nesprávné názvy tabulek nebo sloupců.
Jak se aktivují aktualizace potrubí?
Pro zahájení aktualizací pipeline použijte jednu z následujících možností:
| Spouštěč aktualizace | Podrobnosti |
|---|---|
| Příručka | Aktualizace kanálu můžete aktivovat ručně z Editoru kanálů Lakeflow nebo ze seznamu kanálů. Viz Ruční spuštění aktualizace potrubí. |
| Scheduled | Aktualizace pipelinek můžete naplánovat pomocí úloh. Viz úloha kanálu pro úlohy. |
| Programmatic | Můžete programově spustit aktualizace pomocí nástrojů, rozhraní API a CLI třetích stran. Viz Spuštění datových toků v pracovním postupu a rozhraní REST API pipeline. |
Ruční spuštění aktualizace potrubí
K ručnímu spuštění aktualizace pipeline použijte jednu z následujících možností:
- Spusťte celý kanál nebo podmnožinu kanálu (jeden zdrojový soubor nebo jednu tabulku) z Editoru kanálů Lakeflow. Další informace najdete v tématu Spuštění kódu pipeliny.
- Spusťte celý kanál ze seznamu Úlohy a Kanály . Klikněte na
Ve stejném řádku jako kanál v seznamu.
- Na stránce monitorování potrubí klikněte na tlačítko
.
Poznámka:
Výchozí chování pro ručně aktivované aktualizace kanálu spočívá v aktualizaci všech datových sad definovaných v kanálu.
sémantika obnovení potrubí
Následující tabulka popisuje výchozí chování při aktualizaci, úplné aktualizaci a resetování kontrolních bodů pro materializovaná zobrazení a streamované tabulky:
| Typ aktualizace | Materializované zobrazení | Tabulka pro streamování |
|---|---|---|
| Aktualizovat (výchozí) | Aktualizuje výsledky tak, aby odrážely aktuální výsledky pro definující dotaz. Zkontroluje náklady a provede přírůstkovou aktualizaci, pokud je nákladově efektivnější. Zobrazit přírůstkovou aktualizaci pro materializovaná zobrazení | Zpracovává nové záznamy prostřednictvím logiky definované v tabulkách a tocích streamování. |
| Úplná aktualizace | Aktualizuje výsledky tak, aby odrážely aktuální výsledky pro definující dotaz. | Vymaže data ze streamovaných tabulek, vymaže informace o stavu (kontrolní body) z toků a znovu zpracuje všechny záznamy ze zdroje dat. Viz úplná aktualizace streamovaných tabulek |
| Resetování kontrolních bodů toku streamování | Nevztahuje se na materializovaná zobrazení. | Vymaže informace o stavu (kontrolní body) z toků, ale nevymaže data ze streamovaných tabulek a znovu zpracuje všechny záznamy ze zdroje dat. |
Ve výchozím nastavení je, že veškerá materializovaná zobrazení a streamované tabulky v rámci datového toku se obnovují při každé aktualizaci. Tabulky můžete volitelně vynechat z aktualizací pomocí následujících funkcí:
- Výběr tabulek pro aktualizaci: Pomocí tohoto uživatelského rozhraní můžete před spuštěním aktualizace přidat nebo odebrat materializovaná zobrazení a streamované tabulky. Viz Spuštění aktualizace datového zpracování pro vybrané tabulky.
- Aktualizovat neúspěšné tabulky: Spusťte aktualizaci pro neúspěšná materializovaná zobrazení a streamované tabulky, včetně podřízených závislostí. Viz Spuštění aktualizace datového toku pro chybové tabulky.
Obě tyto funkce podporují výchozí sémantiku aktualizace nebo úplnou aktualizaci. Volitelně můžete pomocí dialogového okna Vybrat tabulky pro aktualizaci vyloučit další tabulky při spuštění aktualizace pro neúspěšné tabulky.
U streamovaných tabulek se můžete rozhodnout vymazat kontrolní body streamování pro vybrané toky, a ne data z přidružených streamovaných tabulek. Pokud chcete vymazat kontrolní body pro vybrané toky, spusťte aktualizaci pomocí rozhraní REST API Databricks. Podívejte se na zahájení aktualizace pipeline ke zrušení kontrolních bodů selektivních toků streamování.
Mám použít úplnou aktualizaci?
Databricks doporučuje spustit úplné aktualizace jenom v případě potřeby. Úplná aktualizace vždy znovu zpracuje všechny záznamy ze zadaných zdrojů dat prostřednictvím logiky, která definuje datovou sadu. Doba a prostředky k dokončení úplné aktualizace odpovídají velikosti zdrojových dat.
Materializovaná zobrazení vrací stejné výsledky bez ohledu na to, jestli se používá výchozí nebo úplná aktualizace. Použití úplné aktualizace se streamovanými tabulkami resetuje veškeré informace o zpracování stavu a kontrolních bodů a může vést ke ztrátě záznamů, pokud už nejsou vstupní data k dispozici. Viz úplná aktualizace streamovaných tabulek
Databricks doporučuje úplnou aktualizaci pouze v případě, že vstupní zdroje dat obsahují data potřebná k opětovnému vytvoření požadovaného stavu tabulky nebo zobrazení. Představte si následující scénáře, kdy už nejsou k dispozici vstupní zdrojová data a výsledek spuštění úplné aktualizace:
| Zdroj dat | Důvod chybějících vstupních dat | Výsledek úplné aktualizace |
|---|---|---|
| Kafka | Prahová hodnota krátkého uchovávání | Záznamy, které se už nenachází ve zdroji Kafka, se z cílové tabulky zahodí. |
| Soubory v úložišti objektů | Zásady životního cyklu | Datové soubory, které již nejsou ve zdrojovém adresáři, se z cílové tabulky zahodí. |
| Záznamy v tabulce | Odstraněno kvůli dodržování předpisů | Zpracovávají se jenom záznamy, které jsou ve zdrojové tabulce. |
Chcete-li zabránit spuštění úplných aktualizací v tabulce nebo zobrazení, nastavte vlastnost tabulky pipelines.reset.allowed na false. Viz vlastnosti tabulky Pipeline. Můžete také použít tok přidání k připojení dat k existující streamované tabulce, aniž by bylo nutné provádět úplnou aktualizaci.
Zahájit aktualizaci pipeline pro vybrané tabulky
Volitelně můžete znovu zpracovat data pouze pro vybrané tabulky v datovém toku. Během vývoje například změníte jenom jednu tabulku a chcete zkrátit dobu testování nebo se nezdaří aktualizace kanálu a chcete aktualizovat pouze neúspěšné tabulky.
Editor kanálů Lakeflow nabízí možnosti pro opětovné zpracování zdrojového souboru, vybraných tabulek nebo jedné tabulky. Podrobnosti najdete v tématu Spuštění pipeline kódu.
Spuštění aktualizace datového proudu pro selhalé tabulky
Pokud aktualizace kanálu selže kvůli chybám v jedné nebo více tabulkách v grafu kanálu, můžete spustit aktualizaci pouze neúspěšných tabulek a všech podřízených závislostí.
Poznámka:
Vyloučené tabulky se neaktualizují, i když závisí na selhalé tabulce.
Pokud chcete aktualizovat selhané tabulky, klikněte na stránce sledování kanálu na Aktualizovat selhané tabulky.
Aktualizace pouze vybraných neúspěšných tabulek ze stránky monitorování kanálu:
Klikněte na tlačítko
vedle tlačítka Obnovit neúspěšné tabulky a poté klikněte na Vybrat tabulky pro obnovení. Zobrazí se dialogové okno Vybrat tabulky pro aktualizaci .Pokud chcete vybrat tabulky, které se mají aktualizovat, klikněte na každou tabulku. Vybrané tabulky jsou zvýrazněné a označené. Pokud chcete tabulku z aktualizace odebrat, klikněte znovu na tabulku.
Klikněte na Aktualizovat výběr.
Poznámka:
Tlačítko Aktualizovat výběr zobrazuje počet vybraných tabulek v závorkách.
Chcete-li znovu zpracovat data již ingestovaná pro vybrané tabulky, klikněte na
vedle tlačítka Aktualizovat výběr a klikněte na Úplná aktualizace výběru.
Zahájit aktualizaci datového potrubí pro vymazání kontrolních bodů selektivních toků streamování
Volitelně můžete znovu zpracovat data pro vybrané toky streamování ve vašem kanálu bez vymazání už přijatých dat.
Poznámka:
Toky, které nejsou vybrané, se spouštějí pomocí REFRESH aktualizace. Můžete také zadat full_refresh_selection nebo refresh_selection selektivně aktualizovat další tabulky.
Pokud chcete spustit aktualizaci pro aktualizaci vybraných kontrolních bodů streamování, použijte požadavek na aktualizace v rozhraní REST API deklarativních kanálů Sparku Lakeflow.
Parametr reset_checkpoint_selection přijímá seznam názvů toků. Název toku musíte použít, jak se zobrazí v grafu kanálu:
- Pokud jste definovali tok s explicitním názvem (například pomocí parametru
flow_namevcreate_auto_cdc_flow), použijte tento název. - Pokud jste nenastavili explicitní název toku, výchozí název toku je plně kvalifikovaný název tabulky ve
catalog.schema.tableformátu. Použití pouze názvu tabulky (napříkladgoldmístomy_catalog.my_schema.gold) způsobí, že aktualizace datového toku selže, což má za následek chybuIllegalArgumentException.
Názvy toků najdete v uživatelském rozhraní kanálu nebo v protokolech událostí kanálu.
Následující příklad používá příkaz curl k vyvolání žádosti updates pro spuštění aktualizace pipeline:
curl -X POST \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{
"reset_checkpoint_selection": ["my_catalog.my_schema.my_streaming_table"]
}' \
https://<your-databricks-instance>/api/2.0/pipelines/<your-pipeline-id>/updates
Následující příklad resetuje kontrolní bod toku s vlastním názvem:
curl -X POST \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{
"reset_checkpoint_selection": ["my_custom_flow_name"]
}' \
https://<your-databricks-instance>/api/2.0/pipelines/<your-pipeline-id>/updates
Zkontrolujte chyby v datovém toku bez čekání na aktualizaci tabulek
Důležité
Funkce kanálu Dry run je ve veřejné ukázce.
Pokud chcete zkontrolovat, jestli je zdrojový kód kanálu platný bez spuštění úplné aktualizace, použijte suchý běh. Tzv. suchý běh vyřeší definice datových sad a toků definovaných v pipeline, ale neprovede materializaci ani publikování žádných datových sad. Chyby zjištěné během testovacího provozu, jako jsou nesprávné názvy tabulek nebo sloupců, jsou hlášeny v uživatelském rozhraní.
Chcete-li spustit testovací běh, klepněte na
na stránce podrobností kanálu vedle Start a klepněte na tlačítko Testovací spuštění.
Po dokončení testovacího spuštění se všechny chyby zobrazí v oznamovací oblasti v dolním panelu. Kliknutím na ikonu událostí se zobrazí jakékoli problémy nalezené v dolním panelu. Navíc protokol událostí zobrazuje pouze události související s testovacím režimem a v DAG se nezobrazují žádné metriky. Pokud jsou nalezeny chyby, podrobnosti jsou k dispozici v protokolu událostí.
Zobrazí se výsledky pouze pro poslední suchý běh. Pokud bylo suché spuštění poslední spuštěnou aktualizací, můžete výsledky zobrazit jejich výběrem v historii aktualizací. Pokud se po testovacím spuštění spustí jiná aktualizace, výsledky už nebudou v uživatelském rozhraní dostupné.
Chování při spuštění aktualizace
Chování aktualizace pipeline je určeno tím, jak ji spustíte:
- Aktualizace aktivované z uživatelského rozhraní monitorování kanálu pomocí funkce Spustit teď používají chování zaměřené na rychlé spuštění a ladění.
- Aktualizace spouštěné úlohami, rozhraním API kanálů nebo kontinuálními kanály využívají chování automatického opakování a restartu.
U spuštěných pipelinů můžete přepsat výchozí chování konkrétního běhu tak, že v rozevíracím seznamu v Editoru pipelinů Lakeflow nebo na stránce monitorování pipelinu zvolíte Spustit nyní s jinými nastaveními.
Chování zaměřené na rychlé spuštění a ladění
Používá se v uživatelském rozhraní pro Spustit nyní a neplánované aktualizace. Tato spuštění optimalizují rychlé iterace:
- Znovu použije klastr, aby se zabránilo režii restartů. Ve výchozím nastavení běží clustery po dobu dvou hodin. Můžete to změnit nastavením
pipelines.clusterShutdown.delayv části Konfigurace klasických výpočetních prostředků pro kanály. - Zakáže opakované pokusy potrubí, abyste mohli okamžitě zjišťovat a opravovat chyby.
Chování automatického opakování a restartování
Používá se pro úlohy, aktualizace aktivované rozhraním API a průběžné kanály. Tato spuštění upřednostňují spolehlivost a nákladovou efektivitu:
- Restartuje cluster pro konkrétní obnovitelné chyby, včetně úniků paměti a zastaralých přihlašovacích údajů.
- Opakuje provádění v případě konkrétních chyb, jako je například selhání spuštění clusteru.
- Po dokončení spuštění se cluster okamžitě vypne.
Poznámka:
Chování spuštění řídí pouze provedení clusteru a pipeliny. Umístění úložiště a cílová schémata v katalogu pro publikované tabulky musí být nakonfigurována jako součást nastavení datového kanálu a nejsou ovlivněna průběhem spuštění.