Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Note
Funktionen Ändra dataflöde i Lakebase finns i offentlig förhandsversion.
Konfigurera Lakebase Change Data Feed (CDF) i en Postgres-tabell och se sedan hur ändringar på radnivå visas i deltatabellen för mål.
Steg: ① Aktivera ändringsinsamling → ② Starta flödet → ③ Följ en rad in i lakehouse → ④ Ändra raden och se hur den flödar igenom
Note
Det här är en snabbstart. Fullständig dokumentation finns i Lakebase Change Data Feed.
Innan du börjar
- Kontrollera att du har slutfört Hämta en Postgres-databas. Du behöver ett Lakebase-projekt med exempeltabellen
playing_with_lakebase. - En katalog i Unity Catalog och ett schema där du har behörigheten
CREATE TABLE.
Steg 1: Aktivera ändringsinsamling
Postgres behöver fullständiga raddata i loggen för att CDF ska fungera. Om du anger replikidentiteten till full uppmanas Postgres att registrera både det gamla och nya radtillståndet för varje ändring.
I SQL-redigeraren i Lakebase kör du:
ALTER TABLE playing_with_lakebase REPLICA IDENTITY FULL;
Läs mer: Ange replikidentitet för alla tabeller i ett schema och tillämpa den automatiskt på nya tabeller
Steg 2: Starta flödet
Lakebase CDF konfigureras på schemanivå. Varje aktuell och framtida tabell i källschemat inkluderas automatiskt, så du väljer inte enskilda tabeller.
Från produktionsgrenen öppnar du Översikt över grenen genom att klicka på grennamnet i den översta sökvägen, öppna fliken Lakebase CDF och klicka på Start. Välj public som källschema och välj sedan en unity catalog-målkatalog och ett schema. Den första ögonblicksbilden påbörjas omedelbart och lb_playing_with_lakebase_history visas som en Delta-tabell i måldestinationen.
Läs mer: Starta ändringsdataflödet
Steg 3: Följ en rad in i sjöhuset
Välj en rad från Lakebase. Ta en titt på raden id=2:
SELECT * FROM playing_with_lakebase WHERE id = 2;
Leta nu upp samma rad i tabellen Deltahistorik. Växla till ett Databricks SQL-datalager eller en notebook och kör:
SELECT * FROM <catalog>.<schema>.lb_playing_with_lakebase_history
WHERE id = 2;
Ersätt <catalog> och <schema> med det mål som du valde i steg 2. Du ser rad id=2 med samma name och value som i Lakebase, plus extra kolumner. Den första ögonblicksbilden skrev varje befintlig rad till Delta som en insert händelse, vilket är vad den raden representerar.
Dessa extra kolumner beskriver vilken typ av händelse varje rad representerar (_pg_change_type), när det hände (_timestamp) och Postgres-beställningsinformationen (_pg_lsn, _pg_xid).
Läs mer: Måltabellschema | Datatypsmappning
Steg 4: Ändra rad, se hur ändringen slår igenom
Tillbaka i Lakebase SQL-redigeraren uppdaterar du raden id=2:
UPDATE playing_with_lakebase SET value = 55.5 WHERE id = 2;
Vänta några sekunder tills ändringen visas i feeden och fråga sedan historiktabellen igen:
SELECT id, value, _pg_change_type, _timestamp
FROM <catalog>.<schema>.lb_playing_with_lakebase_history
WHERE id = 2
ORDER BY _pg_lsn DESC;
Rad id=2 visas nu tre gånger: det ursprungliga insert, ett update_preimage med det gamla värdet och ett update_postimage med det nya värdet. Varje ändring av raden blir en ny historikrad, så du har alltid en fullständig spårningslogg. Borttagningar fungerar på samma sätt, genom att lägga till en rad med _pg_change_type = 'delete'.
Läs mer: Vanliga ändringsmönster | Skapa underordnade pipelines
Nästa steg
- Skapa en nedströmspipeline: Omvandla historiktabellen till en live-aggregering med en materialiserad vy, Lakeflow-pipelines eller strukturerad direktuppspelning.
- Kör analyser: Ställ frågor mot dina Delta-historiktabeller med Databricks SQL.
- Använd bronsskiktet: Anslut historiktabellen till en medaljongarkitektur.
- Granska produktionsbegränsningar: Se begränsningar och felsökning och hantering av schemaändringar.
- Utforska Lakebase:Core-begreppen | Lakebase