Aktivované vs. režim průběžného kanálu
Tento článek popisuje provozní sémantiku aktivovaných a průběžných režimů kanálu pro dynamické tabulky Delta.
Režim kanálu je nezávislý na typu počítané tabulky. Materializovaná zobrazení i tabulky streamování je možné aktualizovat v obou režimech kanálu.
Pokud chcete změnit mezi aktivovanými a průběžnými operacemi, při vytváření nebo úpravách kanálu použijte v nastavení kanálu možnost Režim kanálu. Viz Konfigurace kanálu delta živých tabulek.
Poznámka:
Operace aktualizace pro materializovaná zobrazení a tabulky streamování definované v Databricks SQL se vždy spouštějí pomocí režimu aktivovaného kanálu.
Co je aktivovaný režim kanálu?
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, aby se každá tabulka v aktualizaci aktualizovala na základě dat dostupných při spuštění aktualizace.
Co je režim průběžného kanálu?
Pokud kanál používá průběžné spouštění, Delta Live Tables zpracovává nová data při příchodu do zdrojů dat, aby tabulky zůstaly 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 aktivovaných a průběžných kanálů:
Klíčové otázky | Aktivované | Průběžné |
---|---|---|
Kdy se aktualizace zastaví? | Po dokončení se automaticky dokončí. | 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 při příchodu do nakonfigurovaných zdrojů. |
Jaké požadavky na aktuálnost dat jsou 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 ale nezpracují, dokud se kanál 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.
Můžete použít pipelines.trigger.interval
k řízení intervalu triggeru pro tok, který aktualizuje tabulku nebo celý kanál. Vzhledem k tomu, že aktivovaný kanál zpracovává každou tabulku jednou, pipelines.trigger.interval
používá se pouze s průběžnými kanály.
Databricks doporučuje nastavit pipelines.trigger.interval
jednotlivé tabulky, 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.
Nastavili pipelines.trigger.interval
jste tabulku pomocí spark_conf
Pythonu nebo SET
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ál, přidejte ho do objektu configuration
v nastavení kanálu:
{
"configuration": {
"pipelines.trigger.interval": "10 seconds"
}
}