Naplánování aktualizací

Pokud víte, že zdrojové tabulky byly aktualizovány, můžete ručně aktualizovat samostatné materializované zobrazení nebo streamovací tabulku. Můžete ale také nastavit plán aktualizací, a to buď podle času, při aktualizaci zdrojových tabulek nebo prostřednictvím orchestrace.

Můžete také vytvořit oznámení a nastavit režim výkonu pro plánované aktualizace.

Vytvoření plánu

Můžete nakonfigurovat samostatný kanál , který se má automaticky aktualizovat na základě definovaného plánu, nebo aktivovat při změně nadřazených dat. Následující tabulka uvádí různé možnosti plánování aktualizací.

Metoda Description Příklad případu použití
Příručka Aktualizace na vyžádání pomocí příkazu SQL REFRESH nebo uživatelského rozhraní pracovního prostoru Vývoj, testování, ad hoc aktualizace.
TRIGGER ON UPDATE Naplánujte, aby se kanál automaticky aktualizoval, když se změní nadřazená data. Produkční úlohy s dohodami o úrovni služeb týkajícími se čerstvosti dat nebo nepředvídatelnými obdobími aktualizace.
SCHEDULE Naplánujte obnovení datového proudu v definovaných časových intervalech. Předvídatelné požadavky na aktualizaci na základě času.
Operace SQL v úloze Aktualizace se orchestruje prostřednictvím úloh Lakeflow. Složité kanály se závislostmi mezi systémy

I když plánujete aktualizace, můžete kdykoli spustit ruční aktualizaci, pokud potřebujete aktualizovaná data.

Ruční aktualizace

Pokud chcete datový tok aktualizovat ručně, můžete vyvolat aktualizaci z Databricks SQL, nebo použít uživatelské rozhraní pracovního prostoru.

Prohlášení REFRESH

Aktualizovat datové potrubí pomocí Databricks SQL:

  1. V ikoně Editoru dotazů.Editor SQL spusťte následující příkaz:

    REFRESH MATERIALIZED VIEW <table-name>;
    

    Pro streamované tabulky použijte REFRESH STREAMING TABLE.

Další informace najdete v REFRESH (MATERIALIZED VIEW nebo STREAMING TABLE).

Uživatelské rozhraní pracovního prostoru

Pro obnovení datového toku v uživatelském rozhraní pracovního prostoru:

  1. V pracovním prostoru Azure Databricks klikněte na ikonu Pracovní postupy.Úlohy a kanály
  2. Ze seznamu vyberte kanál, který chcete aktualizovat.
  3. Klikněte na tlačítko Start .

Během aktualizace potrubí uvidíte aktualizace v uživatelském rozhraní.

Trigger při aktualizaci

Klauzule TRIGGER ON UPDATE automaticky aktualizuje kanál při změně nadřazených zdrojových dat. Tím se eliminuje potřeba koordinovat plány napříč kanály. Datová sada zůstane aktuální, aniž by uživatel musel vědět, kdy upstreamové úlohy dokončí nebo udržuje složitou logiku plánování.

Tento postup se doporučuje pro produkční úlohy, zejména pokud upstreamové závislosti neběží podle předvídatelných plánů. Po konfiguraci triggeru při aktualizaci kanál monitoruje zdrojové tabulky a aktualizuje se automaticky, když se zjistí změny v některém z nadřazených zdrojů.

Limitations

  • Omezení závislostí na nadřazených prvcích: Datový kanál může monitorovat maximálně 10 nadřazených tabulek a 30 nadřazených pohledů. Pokud chcete další závislosti, rozdělte logiku mezi několik kanálů.
  • Omezení pracovního prostoru: Na jeden pracovní prostor může existovat maximálně 1 000 potrubí TRIGGER ON UPDATE. Pokud potřebujete víc než 1 000, kontaktujte podporu Databricks.
  • Minimální interval: Minimální interval aktivační události je 1 minuta.

Následující příklady ukazují, jak nastavit spouštěč při aktualizaci při definování pipeline.

Vytvoření kanálu s triggerem při aktualizaci

Pokud chcete vytvořit kanál, který se automaticky aktualizuje při změně zdrojových dat, zahrňte do TRIGGER ON UPDATE příkazu klauzuli CREATE .

Následující příklad vytvoří streamovací tabulku, která čte objednávky zákazníků a aktualizuje se při každé aktualizaci zdrojové orders tabulky:

CREATE OR REFRESH STREAMING TABLE catalog.schema.customer_orders
  TRIGGER ON UPDATE
AS SELECT
    o.customer_id,
    o.name,
    o.order_id
FROM catalog.schema.orders o;

Omezení frekvence aktualizace

Pokud se upstreamová data aktualizují často, použijte AT MOST EVERY k omezení četnosti aktualizací zobrazení a omezení nákladů na výpočetní prostředky. To je užitečné, když se zdrojové tabulky často aktualizují, ale podřízení uživatelé nepotřebují data v reálném čase. Klíčové INTERVAL slovo je vyžadováno před hodnotou času.

Následující příklad omezuje aktualizaci tabulky streamování maximálně každých 5 minut, i když se zdrojová data mění častěji:

CREATE OR REFRESH STREAMING TABLE catalog.schema.customer_orders
  TRIGGER ON UPDATE AT MOST EVERY INTERVAL 5 MINUTES
AS SELECT
    o.customer_id,
    o.name,
    o.order_id
FROM catalog.schema.orders o;

Plánovaná aktualizace

Plány aktualizace je možné definovat přímo v definici kanálu, aby se zobrazení aktualizovalo v pevných časových intervalech. Tento přístup je užitečný v případě, že je časování aktualizace dat známé a předvídatelné.

Pokud existuje plán aktualizace, můžete kdykoli spustit ruční aktualizaci, pokud chcete aktualizovat data.

Databricks podporuje dvě syntaxe plánování: SCHEDULE EVERY pro jednoduché intervaly a SCHEDULE CRON přesné plánování. Klíčová slova SCHEDULE a SCHEDULE REFRESH jsou sémanticky ekvivalentní.

Podrobnosti o syntaxi a použití SCHEDULE klauzule naleznete v části CREATE STREAMING TABLE KLAUZULE SCHEDULE nebo CREATE MATERIALIZED VIEW KLAUZULE SCHEDULE.

Při vytvoření plánu se automaticky nakonfiguruje nová úloha Databricks pro zpracování aktualizace.

Pokud chcete zobrazit plán, udělejte jednu z těchto věcí:

  • DESCRIBE EXTENDED Spusťte příkaz z editoru SQL v uživatelském rozhraní Azure Databricks. Viz DESCRIBE TABLE.
  • K zobrazení datové sady použijte Průzkumníka katalogu. Plán je uvedený na kartě Přehled v části Stav aktualizace. Podívejte se na Co je to Průzkumník katalogu?.

Následující příklady ukazují, jak vytvořit materializované zobrazení s plánem:

Naplánovat každý časový interval

Tento příklad plánuje aktualizaci každou hodinu. Klauzule EVERY podporuje intervaly hodin, dnů a týdnů. Pro intervaly v subhodinových intervalech použijte SCHEDULE CRON místo toho.

CREATE OR REPLACE MATERIALIZED VIEW catalog.schema.hourly_metrics
  SCHEDULE EVERY 1 HOUR
AS SELECT
    date_trunc('hour', event_time) AS hour,
    count(*) AS events
FROM catalog.schema.raw_events
GROUP BY 1;

Plánování pomocí cron

Tento příklad naplánuje aktualizaci každých 15 minut, na čtvrt hodiny časového pásma UTC:

CREATE OR REPLACE MATERIALIZED VIEW catalog.schema.regular_metrics
  SCHEDULE CRON '0 */15 * * * ?' AT TIME ZONE 'UTC'
AS SELECT
    date_trunc('minute', event_time) AS minute,
    count(*) AS events
FROM catalog.schema.raw_events
WHERE event_time > current_timestamp() - INTERVAL 1 HOUR
GROUP BY 1;

Úkol SQL v úloze

Aktualizace kanálu je možné orchestrovat prostřednictvím úloh Lakeflow vytvořením úloh SQL, které obsahují REFRESH příkazy. Tento přístup integruje aktualizace pipeline do existující orchestrace pomocí úkolů.

Existují dva způsoby, jak vytvořit úlohu pro aktualizaci streamovaných tabulek:

  • V editoru SQL: Napište REFRESH příkaz a kliknutím na tlačítko Plán vytvořte úlohu přímo z dotazu.
  • V uživatelském rozhraní úloh: Vytvořte novou úlohu, přidejte typ úlohy SQL a pomocí příkazu připojte dotaz SQL nebo poznámkový blok REFRESH .

Následující příklad ukazuje příkaz SQL v rámci úlohy SQL, která aktualizuje streamovací tabulku:

REFRESH STREAMING TABLE catalog.schema.sales;

Note

U samostatných materializovaných zobrazení a streamovacích tabulek řízení aktualizace pomocí úlohy neznamená, že se budou spouštět nepřetržitě. Každé spuštění úlohy provede jednu vyvolanou aktualizaci. Kontinuální provádění prostřednictvím úlohy se vztahuje pouze na kanály Lakeflow. Viz Spuštění kontinuální pipeline pomocí průběžné úlohy.

Tento přístup je vhodný v těchto případech:

  • Komplexní kanály s více kroky mají závislosti napříč systémy.
  • Vyžaduje se integrace s existující orchestrací úloh.
  • Vyžaduje se upozorňování a monitorování na úrovni úlohy.

Úlohy SQL používají službu SQL Warehouse připojenou k úloze i výpočetní prostředí bez serveru, které provádí aktualizaci. Pokud plánování založené na definici tabulky streamování splňuje požadavky, přechod na TRIGGER ON UPDATE nebo SCHEDULE může zjednodušit pracovní postup.

Přidat plán do existujícího potrubí.

K nastavení plánu po vytvoření použijte ALTER STREAMING TABLE příkaz nebo ALTER MATERIALIZED VIEW příkaz. Příklady:

-- Alters the schedule to refresh the streaming table when its upstream
-- data gets updated.
ALTER STREAMING TABLE sales
  ADD TRIGGER ON UPDATE;

Úprava existujícího plánu nebo triggeru

Pokud už kanál má přidružený plán nebo trigger, použijte ALTER SCHEDULE nebo ALTER TRIGGER ON UPDATE, aby se změnila konfigurace aktualizace. Ať už jde o změnu z jednoho plánu na jiný, z jednoho spouštěče na jiný, nebo mezi plánem a spouštěčem.

Následující příklad změní existující plán aktualizace každých 5 minut. Vzhledem k tomu, že klauzule EVERY nepodporuje minutové intervaly, použijte pro plány s intervalem kratším než jedna hodina výraz CRON:

ALTER STREAMING TABLE catalog.schema.my_table
  ALTER SCHEDULE CRON '0 */5 * * * ?';

Odstranění plánu nebo triggeru

Pokud chcete plán odebrat, použijte ALTER ... DROP:

ALTER STREAMING TABLE catalog.schema.my_table
  DROP SCHEDULE;

Sledování stavu aktualizace

Stav aktualizace můžete zobrazit zobrazením kanálu v uživatelském rozhraní Pipelines nebo zobrazením informací o aktualizaci vrácených příkazem DESCRIBE EXTENDED pro datovou sadu.

DESCRIBE TABLE EXTENDED <table-name>;

Případně můžete datovou sadu zobrazit v Průzkumníku katalogu a zobrazit stav aktualizace tam:

  1. Klikněte na ikonu Data.Katalog na bočním panelu
  2. Ve stromu Průzkumníka katalogu vlevo otevřete katalog a vyberte schéma, ve kterém se datová sada nachází.
  3. Otevřete položku Tabulky pod vybraným schématem a klikněte na streamující tabulku nebo materializované zobrazení.

Tady můžete pomocí karet pod názvem datové sady zobrazit a upravit informace o datové sadě, včetně:

  • Obnovit stav a historii
  • Schéma tabulky
  • Ukázková data (vyžaduje aktivní výpočetní prostředky)
  • Permissions
  • Rodokmen, včetně tabulek a dalších kanálů, na které tato datová sada závisí
  • Vhledy do využití
  • Monitory, které jste pro tuto datovou sadu vytvořili

Zastavení aktivní aktualizace

Pokud chcete zastavit aktivní aktualizaci v uživatelském rozhraní Azure Databricks, klikněte na stránce podrobností kanálu na tlačítko Zastavit a zastavte aktualizaci kanálu. Aktualizaci můžete také zastavit pomocí rozhraní příkazového řádku Databricks nebo rozhraní POST /api/2.0/pipelines/{pipeline_id}/stop v rozhraní REST API služby Pipelines.

Zobrazení historie spuštění pro plánovanou aktualizaci

Pokud otevřete datovou sadu v Průzkumníku katalogu, zobrazí se v podokně podrobností na pravé straně pracovního prostoru plán aktualizace. Kliknutím na plán (například každých 1 hodinu) přejdete na stránku úlohy pro úlohu (spravovanou systémem), která spouští plán. Můžete zobrazit historii spuštění, včetně grafu posledních 48 hodin spuštění, včetně úspěšnosti nebo selhání a doby trvání. Klikněte na konkrétní běh pro získání dalších podrobností.

Tuto systémovou spravovanou úlohu nemůžete upravit. Chcete-li provést změny plánu, upravte definici kanálu s CREATE OR REFRESH nebo pomocí ALTER. Viz Úprava existujícího plánu nebo triggeru.

Časové limity pro aktualizace

Aktualizace pipeline se spouštějí s časovým limitem, který omezuje délku jejich provozu. U samostatných kanálů pipeline vytvořených nebo aktualizovaných 14. srpna 2025 nebo později se časový limit zaznamená, když provedete aktualizaci spuštěním příkazu CREATE OR REFRESH:

  • Pokud je nastavená STATEMENT_TIMEOUT hodnota, použije se tato hodnota. Viz STATEMENT_TIMEOUT.
  • V opačném případě se použije časový limit z SQL Warehouse použitého ke spuštění příkazu. Viz Časový limit příkazu.
  • Pokud sklad nemá nakonfigurovaný časový limit, použije se výchozí hodnota 2 dny.

Časový limit se použije při počátečním vytvoření, ale také při plánovaných aktualizacích, které následují.

U streamovaných tabulek, které byly naposledy aktualizovány před 14. srpnem 2025, je časový limit nastavený na 2 dny.

Příklad: Nastavení časového limitu aktualizace Explicitně můžete určit, jak dlouho může aktualizace běžet, nastavením časového limitu na úrovni příkazu při vytváření nebo aktualizaci datové sady:

SET STATEMENT_TIMEOUT = 21600;

CREATE OR REFRESH MATERIALIZED VIEW my_catalog.my_schema.my_mv
  SCHEDULE EVERY 12 HOURS
AS SELECT * FROM large_source_table;

Tím se nastaví materializované zobrazení, které se má aktualizovat každých 12 hodin a pokud aktualizace trvá déle než 6 hodin, vyprší časový limit a čeká na další plánovanou aktualizaci.

Jak plánované aktualizace řeší časové limity

Časové limity jsou synchronizovány pouze při výslovném spuštění CREATE OR REFRESH.

  • Naplánované aktualizace nadále používají časový limit zaznamenaný během posledního CREATE OR REFRESH období.
  • Změna časového limitu skladu sama nemá vliv na existující plánované aktualizace.

Important

Po změně časového limitu skladu spusťte znovu CREATE OR REFRESH, aby se nový časový limit aplikoval na budoucí plánované aktualizace.

Získání oznámení pro plánované aktualizace

Important

Oznámení pro funkci plánovaných aktualizací DDL je v beta verzi. Správci pracovního prostoru mohou řídit přístup k této funkci ze stránky Previews tím, že se přihlásí do ukázky úlohy spravované systémem pro materializovaná zobrazení a streamované tabulky. Viz Manage Azure Databricks preview.

Když vytvoříte plán pro datový proud, můžete jej upravit a dostávat oznámení. Kanály můžete naplánovat několika způsoby a zobrazování oznámení závisí na tom, které z těchto metod zvolíte:

  • Naplánováno pomocí úlohy: Pokud chcete dostávat oznámení z úlohy SQL v úlohách Lakeflow, upravte úkol a přidejte oznámení. Viz úloha SQL pro pracovní úkoly.

    Máte širokou škálu možností, jak oznámení přijmout a jak je přijímat. Viz Přidání oznámení v úloze

  • Naplánováno pomocí SCHEDULE klauzule: Chcete-li získat oznámení z kanálu naplánovaného klauzulí SCHEDULE v definici SQL, upravte ji v Průzkumníku katalogu:

    1. Otevřete datovou sadu v Průzkumníku katalogu.

    2. Na kartě Přehled klikněte v části Plán aktualizace na ikonu Tužka. Pokud chcete upravit plán, pro který chcete dostávat oznámení.

    3. V části Další možnosti přidejte nebo upravte oznámení.

      Máte možnost dostávat oznámení prostřednictvím e-mailu o zahájení, úspěchu nebo selhání plánované aktualizace. Ve výchozím nastavení je vlastník upozorněn pouze na selhání.

      E-mail obsahuje odkaz, který vás přesměruje k historii běhu úlohy spravované systémem, která orchestruje váš plán. Viz Zobrazení historie spuštění pro plánovanou aktualizaci.

Výběr režimu výkonu pro plánované aktualizace

Výpočetní prostředí bez serveru používané kanálem běží v režimu optimalizovaném pro výkon při spuštění v uživatelském rozhraní.

Pro potrubí naplánovaná v definici SQL můžete vybrat bezserverový režim výkonu pomocí nastavení Optimalizováno pro výkon v Průzkumníku katalogu. Pokud je toto nastavení zakázané (výchozí), kanál používá standardní režim výkonu. Standardní režim výkonu je navržený tak, aby snížil náklady na úlohy, kde je přijatelná mírně vyšší latence spuštění. Bezserverové úlohy používající standardní režim výkonu se obvykle spouštějí do čtyř až šesti minut po aktivaci v závislosti na dostupnosti výpočetních prostředků a optimalizovaném plánování.

Pokud je povolená optimalizace výkonu, váš procesní řetězec je optimalizován pro vyšší výkon, což vede k rychlejšímu zahájení a provedení úloh citlivých na čas.

Oba režimy používají stejnou skladovou položku, ale standardní režim výkonu spotřebovává méně jednotek DBU, což odráží nižší využití výpočetních prostředků.

Important

Úprava režimu výkonu pro plánované aktualizace je v beta verzi. Správci pracovního prostoru mohou řídit přístup k této funkci ze stránky Previews tím, že se přihlásí do ukázky úlohy spravované systémem pro materializovaná zobrazení a streamované tabulky. Viz Manage Azure Databricks preview.

Kanály ve výchozím nastavení používají režim optimalizovaný pro výkon při interaktivním spuštění v uživatelském rozhraní, nastavení optimalizovaného výkonu úlohy při plánování úlohy SQL a standardní režim při plánování. Pokud chcete nastavit výpočetní režim pro kanály naplánované SCHEDULE klauzulí v definici, upravte plán v Průzkumníku katalogu:

  1. Otevřete datovou sadu v Průzkumníku katalogu.
  2. Na kartě Přehled klikněte v části Plán aktualizace na ikonu Tužka. Pokud chcete upravit plán, který chcete upravit.
  3. Zkontrolujte výkon optimalizovaný pro použití režimu optimalizovaného pro výkon při budoucích plánovaných aktualizacích.