Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Note
Funkce Kanálu změn dat Lakebase je ve verzi Public Preview.
Nastavte kanál CDF (Change Data Feed) Lakebase v tabulce Postgres a sledujte, jak se změny na úrovni řádků zobrazí v cílové tabulce Delta.
Kroky: ① Povolte zachytávání změn → ② Spusťte kanál → ③ Sledujte řádek až do lakehouse → ④ Změňte řádek a sledujte, jak se změna propíše
Note
Toto je rychlý start. Kompletní dokumentaci najdete v tématu Změna datového kanálu Lakebase.
Než začnete
- Ujistěte se, že jste absolvovali krok Získání databáze Postgres. Potřebujete projekt Lakebase s ukázkovou
playing_with_lakebasetabulkou. - Katalog Unity a schéma, kde máte
CREATE TABLEoprávnění.
Krok 1: Povolení zachytávání změn
Aby CDF fungovalo, Postgres potřebuje ve write-ahead logu úplná data řádků. Nastavení identity repliky na FULL znamená, že Postgres pro každou změnu zaznamená původní i nový stav řádku.
V editoru SQL Lakebase spusťte:
ALTER TABLE playing_with_lakebase REPLICA IDENTITY FULL;
Další informace: Nastavení identity repliky u všech tabulek ve schématu a jeho automatické použití na nové tabulky
Krok 2: Spuštění informačního kanálu
Lakebase CDF se konfiguruje na úrovni schématu. Každá aktuální a budoucí tabulka ve zdrojovém schématu je zahrnuta automaticky, takže nevybíráte jednotlivé tabulky.
Ve své produkční větvi otevřete Přehled větve kliknutím na název větve v horní navigační liště, potom otevřete kartu Lakebase CDF a klikněte na Start. Zvolte public jako zdrojové schéma a poté vyberte cílový katalog a schéma služby Unity Catalog. Počáteční snímek začne okamžitě a lb_playing_with_lakebase_history v cíli se zobrazí jako tabulka Delta.
Další informace: Spusťte kanál změn dat
Krok 3: Sledujte řádek do lakehouse
Vyberte řádek z Lakebase. Podívejte se na řádek id=2:
SELECT * FROM playing_with_lakebase WHERE id = 2;
Teď najděte stejný řádek v tabulce historie Delta. Přepněte na Databricks SQL sklad nebo notebook a spusťte:
SELECT * FROM <catalog>.<schema>.lb_playing_with_lakebase_history
WHERE id = 2;
Nahraďte <catalog> a <schema> nahraďte cílem, který jste zvolili v kroku 2. Uvidíte řádek id=2 se stejnými name a value jako v Lakebase a navíc dalšími sloupci. Počáteční snímek zapsal každý existující řádek do Delta jako událost insert, což tento řádek reprezentuje.
Tyto nadbytečné sloupce popisují, jaký druh události každý řádek představuje (_pg_change_type), kdy k ní došlo (_timestamp) a informace o pořadí Postgres (_pg_lsn, _pg_xid).
Další informace: Schéma cílové tabulky | Mapování datových typů
Krok 4: Změňte řádek a sledujte, jak se změna propíše
Zpět v Editoru SQL Lakebase aktualizujte řádek id=2:
UPDATE playing_with_lakebase SET value = 55.5 WHERE id = 2;
Počkejte několik sekund, než se změna zobrazí ve feedu, a pak znovu proveďte dotaz na tabulku historie:
SELECT id, value, _pg_change_type, _timestamp
FROM <catalog>.<schema>.lb_playing_with_lakebase_history
WHERE id = 2
ORDER BY _pg_lsn DESC;
Řádek id=2 se teď zobrazí třikrát: původní insert, původní update_preimage , stará hodnota a update_postimage nová hodnota. Každá změna řádku vytvoří nový záznam v historii, takže máte vždy k dispozici kompletní auditní stopu. Odstranění fungují stejně, přidáním jednoho řádku s _pg_change_type = 'delete'.
Další informace: Běžné vzory změn | Vytváření následných kanálů
Další kroky
- Vytvořte navazující kanál: Převeďte tabulku historie na živou agregaci pomocí materializovaného pohledu, kanálů Lakeflow nebo Structured Streaming.
- Spustit analýzu: Dotazování tabulek historie Delta pomocí Databricks SQL
- Použijte bronzovou vrstvu: Připojte tabulku historie k architektuře medailonu.
- Kontrola produkčních limitů: Viz omezení a řešení potíží aspráva změn schématu.
- Prozkoumání Lakebase:Základní koncepty | Lakebase