Delta Live Tables vs Lakeflow Pipelines wat is veranderd en hoe bouwt u het vandaag
Delta Live Tables heet nu Lakeflow pipelines. Bestaande DLT-code blijft werken, terwijl actuele API's datasettypes, CDC-patronen en pipeline-intentie explicieter maken.
Het declaratieve model blijft
Dependencies, managed refresh, expectations en event-log-operations blijven bestaan. Moderniseer het API-oppervlak wanneer dat duidelijkheid of toekomstige compatibiliteit toevoegt.
Kort antwoord
Lakeflow-pipelines is de huidige naam en het volgende API-oppervlak voor DLT
Het product kreeg een nieuwe naam, maar het declaratieve pipelinemodel verdween niet. Bestaande DLT-code kan blijven draaien. Nieuwe code moet actuele Lakeflow-terminologie en de pyspark.pipelines API.
Geen verplichte codemigratie
De naamswijziging zelf vereist niet dat je werkende DLT-pipelines opnieuw bouwt.
Moderne API's zijn duidelijker
Streaming tables en materialized views hebben nu aparte Python-decorators.
Lakeflow voegt toe bovenop open Spark SDP
Databricks voegt AUTO CDC, expectations, event logs, continuous mode en andere productiefeatures toe.
Wat blijft
Wat verandert
pyspark.pipelinesBehandel de rename, API-modernisering en legacy publishing mode als aparte onderwerpen. Ze vereisen niet allemaal dezelfde migratie.
API-kaart
Map het oude DLT-oppervlak naar de huidige Lakeflow-API
Het belangrijke migratiedetail is dataset-intent. Oudere @dlt.table code representeerde zowel batch- als streamingoutputs. Huidige Python maakt dat onderscheid expliciet.
import dlt
from pyspark import pipelines as dp@dlt.table + streaming DataFrame
@dp.table@dlt.table + batch DataFrame
@dp.materialized_view@dlt.view
@dp.temporary_viewdlt.apply_changes(...)
dp.create_auto_cdc_flow(...)APPLY CHANGES INTO
AUTO CDC INTOStart met hoe de output correct moet blijven.
Wat heeft het target nodig?
Verwerk iedere nieuwe rij één keer
Append-heavy ingestie of streamingtransformaties.
Streaming table
Houd een queryresultaat actueel
Joins, aggregaties en afgeleide analytische state.
Materialized view
Hergebruik logica binnen de pipeline
Tussenliggende logica waarvoor geen gepubliceerde dataset nodig is.
Terraform
CDC is een flowbeslissing: gebruik AUTO CDC om geordende inserts, updates en deletes toe te passen in een streaming table.
Datasetkeuze
Kies niet tussen streaming tables en materialized views op basis van laagnaam
Een Bronze-tabel is vaak streaming, terwijl Silver en Gold beide typen kunnen bevatten. De juiste keuze hangt af van het gedrag van de bron, de transformatiesemantiek en hoe historische wijzigingen moeten worden verwerkt.
Streaming tables zijn van nature incrementeel
Normale refreshes verwerken records die sinds de vorige update zijn aangekomen. Oudere rijen worden niet automatisch opnieuw verwerkt.
Materialized views behouden querycorrectheid
Databricks kan waar mogelijk incrementeel refreshen en terugvallen op een volledige recompute wanneer nodig.
Eén SQL-object kan standalone zijn
Gebruik een volledige Lakeflow-pipeline wanneer je multi-stage dependencies, Python, sinks of pipeline-only CDC-patronen nodig hebt.
Huidige syntax
Gebruik actuele datasetnamen in SQL en Python
SQL gebruikt expliciete streaming-table- en materialized-view-DDL. Python gebruikt nu aparte decorators zodat het datasettype zichtbaar is in code.
CREATE OR REFRESH STREAMING TABLE bronze_mes_events
AS SELECT *
FROM STREAM read_files(
'/Volumes/factory/raw/mes_events',
format => 'json'
);
CREATE OR REFRESH MATERIALIZED VIEW gold_daily_output
AS
SELECT
production_date,
line_id,
SUM(good_quantity) AS good_quantity
FROM silver.production_runs
GROUP BY production_date, line_id;
from pyspark import pipelines as dp
@dp.table(name="bronze_mes_events")
def bronze_mes_events():
return (
spark.readStream
.format("cloudFiles")
.option("cloudFiles.format", "json")
.load("/Volumes/factory/raw/mes_events")
)
@dp.materialized_view(name="gold_daily_output")
def gold_daily_output():
return (
spark.read.table("silver.production_runs")
.groupBy("production_date", "line_id")
.sum("good_quantity")
)
De oude CREATE OR REFRESH LIVE TABLE vorm is deprecated. Gebruik voor nieuwe SQL CREATE OR REFRESH MATERIALIZED VIEW of CREATE OR REFRESH STREAMING TABLE.
Brongedrag
Kies het ingestiepatroon op basis van hoe de bron verandert
Lakeflow-pipelines kunnen files, eventstreams, CDC-feeds en snapshots verwerken, maar die bronnen moeten niet door hetzelfde patroon worden gedwongen.
Supported database or SaaS source
managed ingestion
Patroon
Lakeflow Connect
Target
managed streaming tables
ADLS files or append-only events
new records arrive
Patroon
Auto Loader / streaming read
Target
streaming table
Ordered inserts, updates and deletes
CDC feed
Patroon
AUTO CDC
Target
streaming table · SCD1 / SCD2
Periodic full snapshots only
no native CDC
Patroon
AUTO CDC FROM SNAPSHOT
Target
streaming table · Python only
Lakeflow Connect en Lakeflow-pipelines lossen verschillende delen van de stack op. Managed connectors voegen bronspecifieke authenticatie, CDC-handling, retries en schema-evolution toe. Lakeflow-pipelines leveren het declaratieve transformatie- en processingframework eronder en downstream.
Execution mode
Streaming table betekent niet automatisch continuous compute
Datasettype en execution mode staan los van elkaar. Start voor de meeste manufacturingworkloads met triggered execution en verhoog freshness alleen wanneer een snellere beslissing de uitkomst daadwerkelijk verandert.
Triggered is de standaard
Ververs beschikbare data en stop daarna compute. Dit past bij de meeste uurlijkse, dagelijkse en on-demand pipelines.
Continu is voor bewezen latencybehoeften
Voor nieuwe continue workloads adviseert Databricks het continuous Lakeflow Job-patroon boven de ingebouwde continuous pipeline-instelling.
Realtime is gespecialiseerd
Real-time-modus in millisecondebereik is momenteel een Public Preview-feature en bedoeld voor operationele streaming-use-cases.
Freshness-ladder
Kies de laagste latency die de businessbeslissing nodig heeft.
Planning, voorraad, finance, dagelijkse productieperformance
Near-real-time operationele monitoring waar latency de reactie beïnvloedt
Gespecialiseerde event-driven operationele workloads
Compute: Databricks adviseert serverless voor vrijwel alle nieuwe Lakeflow-pipelines. Gebruik classic waar netwerk-, instance- of environmentvereisten dit vragen.
Bronze-events
streaming
Silver geldig
2 verwachtingen
Gold-output
gematerialiseerd
Geslaagd
99.7%
Gedaald
186
Backlog
0
Eventlog
update status · kwaliteitsmetrics · lineage · errors · resource-events
Illustratieve pipeline-metrics. Gebruik de werkelijke eventlog en pipeline-UI als operationele bron.
Kwaliteit & observability
Behoud gedrag, niet alleen syntax
Een DLT-modernisering is alleen equivalent wanneer data-quality-acties, refreshgedrag en monitoring nog steeds hetzelfde operationele resultaat opleveren.
Expectations blijven een Lakeflow-feature
Bewaar ongeldige rijen voor metrics, verwijder ze, laat de update falen of implementeer een quarantine-pad wanneer onderzoek belangrijk is.
De eventlog is het programmatische record
Gebruik het voor update outcomes, expectation trends, errors, lineage en historische operationele analyse.
Streamingmetrics tonen backlog
Monitor bij streamingflows waar beschikbaar backlogrecords, bytes, bestanden en seconden.
Migratie
Scheid API-modernisering van migratie van publishing mode
De DLT-naamswijziging dwingt geen migratie af. Legacy publishing mode is iets anders. Pipelines die vóór 5 februari 2025 zijn gemaakt kunnen nog steeds het LIVE virtual schema gebruiken en moeten worden beoordeeld voor migratie naar de huidige default publishing mode.
Modernisering DLT-API
Werk namen en API's bij wanneer je de codebase aanraakt. Valideer gedrag in plaats van blind te herschrijven.
Voorraad DLT-imports, decorators, APPLY CHANGES en oude terminologie.
Classificeer iedere dataset als streaming table, materialized view of temporary view.
Refactor alleen waar huidige API's duidelijkheid of toekomstige compatibiliteit verbeteren.
Afstemmen outputs, verwachtingen, latency en restartgedrag vóór promotie.
Standaard publicatiemodus
Dit wijzigt name resolution en pipelinemetadata. Het staat los van het vervangen van import dlt.
Legacy
LIVE virtueel schema
Legacy-publicatiemodus
Huidig
Catalogus + schema
default publishing mode
Review ongekwalificeerde reads die eerder via workspace defaults werden opgelost.
Gebruik volledig gekwalificeerde identifiers voor datasets buiten de geconfigureerde pipelinecatalogus en schema.
De publishing-mode-migratie werkt pipelinemetadata bij. Hij verplaatst of herschrijft de onderliggende datasets niet.
Veelgemaakte fouten
Vermijd migraties die semantiek per ongeluk wijzigen
De risicovolle wijzigingen zijn zelden de productnaam. Het zijn onjuiste aannames over datasettype, brongedrag, execution mode of name resolution.
Vermijd
Rewriting a working DLT pipeline only because the name changed
Betere default
Modernize APIs when the code is already being changed
Vermijd
Replacing every @dlt.table with @dp.table
Betere default
Classify batch outputs as materialized views first
Vermijd
Assuming a streaming table needs continuous mode
Betere default
Choose dataset type and execution mode independently
Vermijd
Streaming from a source that updates old rows without a plan
Betere default
Use AUTO CDC or another pattern that matches the source semantics
Vermijd
Using APPLY CHANGES in new examples
Betere default
Use AUTO CDC for current Lakeflow code
Vermijd
Ignoring LIVE and unqualified names in legacy publishing mode
Betere default
Review name resolution when moving to default publishing mode
Hoe Food For Analytics dit implementeert
Titan gebruikt Lakeflow-patronen op basis van brongedrag en beslisactualiteit
We gebruiken niet standaard hetzelfde pipelineobject voor iedere manufacturingdataset. Titan scheidt ingestiegedrag, transformatiesemantiek en execution mode zodat ieder dataproduct het eenvoudigste betrouwbare patroon kan gebruiken.
Brongedrag
Classificeer het wijzigingspatroon
Bestanden, events, CDC-feeds en snapshots vereisen verschillende ingestiesemantiek.
Titan op Azure Databricks
Kies het Lakeflow-patroon
Gebruik het dataset- en flowtype dat correctheid behoudt met de laagste operationele complexiteit.
Operationele uitkomst
Draai met de vereiste actualiteit
Standaard getriggerd, continuous waar latency belangrijk is, met expectations en event-logmonitoring rond het dataproduct.
FAQ
Veelgestelde vragen
Praktische antwoorden over de overgang van Delta Live Tables-terminologie naar huidige Lakeflow-pipelines.
Is Delta Live Tables uitgefaseerd?
Delta Live Tables is de voormalige productnaam. Databricks noemt het product nu Lakeflow pipelines. Bestaande DLT-code blijft werken, dus de hernoeming vereist geen rewrite.
Moet ik import dlt direct vervangen?
Nee. De dlt Python-API's blijven ondersteund, maar Databricks adviseert voor nieuwe code en bij modernisering van bestaande code `from pyspark import pipelines as dp` te gebruiken.
Wat vervangt @dlt.table?
De vervanging hangt af van de dataset. Gebruik @dp.table voor een streaming table en @dp.materialized_view voor een materialized view. Daarmee wordt het bedoelde datasettype expliciet in actuele Python-code.
Wat vervangt APPLY CHANGES?
Databricks adviseert AUTO CDC. AUTO CDC verwerkt geordende change feeds en ondersteunt SCD Type 1 en Type 2. AUTO CDC FROM SNAPSHOT is beschikbaar in Python wanneer alleen periodieke bronsnapshots beschikbaar zijn.
Vereist een streaming table een continuous pipeline?
Nee. Datasettype en pipeline-execution mode zijn afzonderlijke beslissingen. Streaming tables en materialized views kunnen beide in triggered of continuous Lakeflow-pipelines draaien.
Wat gebeurde er met het LIVE-schema?
Het LIVE virtual schema hoort bij legacy publishing mode. Nieuwe pipelines gebruiken de default publishing mode, waar LIVE wordt genegeerd en de geconfigureerde catalogus en schema ongekwalificeerde referenties bepalen. Legacy publishing mode moet los van de DLT-naamswijziging worden beoordeeld.
Praktische laag
Moderniseer Lakeflow-pipelines zonder te herschrijven wat al werkt
We kunnen een bestaande DLT-codebase, bronsemantiek, publishing mode en operationeel gedrag beoordelen en vervolgens het kleinste veilige moderniseringspad bepalen.