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 Delta Live Tables.
Režim kanálu je nezávislý na typu table, který se počítá. Materializované views i streamované tables je možné aktualizovat v obou režimech potrubí.
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
Poznámka:
Refresh operace materializovaných views a streamovaných tables definovaných v Databricks SQL se vždy spouští pomocí režimu aktivovaného kanálu.
Co je aktivovaný režim kanálu?
Pokud kanál používá a je v aktivním režimu, systém přestane zpracovávat poté, co úspěšně aktualizuje všechny tables nebo vybrané tables, a zajistí, že každá table v update je aktualizována na základě dat dostupných při spuštění update.
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, jakmile dorazí do zdrojů dat, aby zůstal tables v celém kanálu aktuální.
Aby se zabránilo zbytečnému zpracování v nepřetržitém režimu spouštění, datové toky automaticky monitorují závislé Delta tables a vykonávají update pouze tehdy, pokud se změnil obsah těchto závislých tables.
Volba režimů datového kanálu
Následující table zvýrazní rozdíly mezi těmito režimy aktivovaného a průběžného potrubí:
Klíčové otázky | Aktivované | Průběžné |
---|---|---|
Kdy se update 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í update | 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 náklady, protože cluster běží dostatečně dlouho, aby update kanálu. 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í.
interval spuštění Set pro nepřetržitá potrubí
Při konfiguraci datových toků pro průběžný režim můžete set nastavit intervaly pro řízení toho, jak často se datový tok spouští update pro každý tok.
Pomocí pipelines.trigger.interval
můžete řídit interval aktivační události pro tok, který aktualizuje table nebo celý kanál. Vzhledem k tomu, že aktivovaný kanál zpracovává každý table jednou, pipelines.trigger.interval
se používá jenom s průběžnými kanály.
Databricks doporučuje nastavit pipelines.trigger.interval
pro jednotlivé tables, protože streamování a dávkové dotazy mají jiné výchozí hodnoty.
Set hodnotu kanálu pouze v případě, že zpracování vyžaduje řízení aktualizací pro celý graf kanálu.
Pomocí Pythonu nebo SQL můžeš setpipelines.trigger.interval
na table pomocí spark_conf
nebo SET
.
@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 ...
Chcete-li setpipelines.trigger.interval
na potrubí, přidejte ho do objektu configuration
v nastavení potrubí.
{
"configuration": {
"pipelines.trigger.interval": "10 seconds"
}
}