Aktivované vs. režim průběžného kanálu
Tento článek popisuje výkonnostní sémantiku spouštěných a průběžných režimů potrubí pro DLT.
Režim pipeline je nezávislý na typu tabulky, která se počítá. Materializovaná zobrazení i proudové tabulky je možné aktualizovat v obou režimech kanálu.
Pokud chcete změnit mezi triggerovanými a průběžnými režimy, použijte při vytváření nebo úpravách pipeline možnost Režim pipeline. Viz Konfiguruj kanál DLT.
Poznámka
Operace obnovení pro materializovaná zobrazení a streamovací tabulky definované v Databricks SQL se vždy provádějí v režimu kanálu s vyvoláním.
Co je spuštěný režim pipeline?
Pokud kanál používá aktivovaný režim, systém po úspěšné aktualizaci všech tabulek nebo vybraných tabulek přestane zpracovávat a zajišťuje aktualizaci každé tabulky v aktualizaci na základě dat dostupných při spuštění aktualizace.
Co je režim spojitého potrubí?
Pokud kanál používá průběžné spouštění, DLT zpracovává nová data, jakmile dorazí do zdrojů dat, aby byly tabulky v celém kanálu aktuální.
Aby se zabránilo zbytečnému zpracování v režimu průběžného spouštění, kanály automaticky monitorují závislé tabulky Delta a provádějí aktualizaci pouze v případě, že se změnil obsah těchto závislých tabulek.
Volba režimů datového kanálu
Následující tabulka uvádí rozdíly mezi režimy spouštěných a průběžných pipeline:
Klíčové otázky | Aktivovaný | Nepřetržitý |
---|---|---|
Kdy se aktualizace zastaví? | Po dokončení proběhne automaticky. | Běží nepřetržitě, dokud ručně nezastavíte. |
Jaká data se zpracovávají? | Data dostupná při spuštění aktualizace. | Všechna data, jakmile dorazí k nakonfigurovaným zdrojům. |
Pro jaké požadavky na aktuálnost dat je to nejlepší? | Aktualizace dat se spouštějí každých 10 minut, každou hodinu nebo denně. | Aktualizace dat jsou potřeba každých 10 sekund až několik minut. |
Aktivované kanály můžou snížit spotřebu prostředků a výdaje, protože cluster běží dostatečně dlouho, aby mohl kanál aktualizovat. Nová data se však nezpracují, dokud se potrubí neaktivuje. Průběžné kanály vyžadují vždy spuštěný cluster, který je dražší, ale snižuje latenci zpracování.
Nastavení intervalu triggeru pro průběžné kanály
Při konfiguraci kanálů pro průběžný režim můžete nastavit intervaly triggerů, které řídí, jak často kanál spouští aktualizaci pro každý tok.
Pomocí pipelines.trigger.interval
můžete řídit interval spuštění pro proces, který aktualizuje tabulku nebo celý datový kanál. Vzhledem k tomu, že aktivovaný kanál zpracovává každou tabulku jednou, pipelines.trigger.interval
se používá pouze s průběžnými kanály.
Databricks doporučuje nastavit pipelines.trigger.interval
u jednotlivých tabulek, protože streamované a dávkové dotazy mají jiné výchozí hodnoty. Hodnotu kanálu nastavte pouze v případě, že zpracování vyžaduje řízení aktualizací pro celý graf kanálu.
V tabulce jste nastavili pipelines.trigger.interval
pomocí spark_conf
v Pythonu nebo SET
v SQL:
@dlt.table(
spark_conf={"pipelines.trigger.interval" : "10 seconds"}
)
def <function-name>():
return (<query>)
SET pipelines.trigger.interval=10 seconds;
CREATE OR REFRESH MATERIALIZED VIEW TABLE_NAME
AS SELECT ...
Pokud chcete nastavit pipelines.trigger.interval
kanálu, přidejte ho do objektu configuration
v nastavení kanálu:
{
"configuration": {
"pipelines.trigger.interval": "10 seconds"
}
}