Sdílet prostřednictvím


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 Konfiguracekanálu Delta Live .

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"
  }
}