Spouštěný vs. kontinuální režim potrubí

Spouštěný a průběžný režim kanálu určují, jak kanál zpracovává data: spouštěný režim aktualizuje dostupná data a poté se zastaví, zatímco průběžný režim udržuje tabulky aktuální s příchodem nových dat. Úlohy, které vyžadují latenci milisekund, najdete v tématu Použití režimu v reálném čase v kanálech Lakeflow.

Režim pipeline je nezávislý na typu tabulky, která se počítá. Materializovaná zobrazení i proudové tabulky lze aktualizovat v obou režimech zpracování.

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 Konfigurace kanálů.

Poznámka:

Operace obnovení pro samostatná materializovaná zobrazení a streamovací tabulky se vždy spouštějí v režimu triggerovaného kanálu.

Co je spuštěný režim pipeline?

Pokud kanál používá aktivovaný režim, systém se zastaví po aktualizaci všech tabulek 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í, 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.

Výběr režimu 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 není ručně zastaveno.
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 pipeline nespustí. 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:

@dp.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 v rámci pipeline, přidejte ho do objektu configuration v nastavení pipeline.

{
  "configuration": {
    "pipelines.trigger.interval": "10 seconds"
  }
}