Begrepp om Deklarativa pipelines för Lakeflow Spark

Lär dig vad Lakeflow Spark Deklarativa pipelines (SDP) är, de grundläggande begreppen (till exempel pipelines, strömmande tabeller och materialiserade vyer) som definierar den, relationerna mellan dessa begrepp och fördelarna med att använda den i dina arbetsflöden för databearbetning.

Anmärkning

Lakeflow Spark Deklarativa Pipelines kräver Premium-planen. Kontakta databricks-kontoteamet om du vill ha mer information.

Vad är SDP?

Lakeflow Spark Deklarativa Pipelines är ett deklarativt ramverk för att utveckla och köra batch- och strömmande datapipelines i SQL och Python. Lakeflow SDP utökas och är samverkande med Apache Spark Deklarativa pipelines, samtidigt som den körs på den prestandaoptimerade Databricks Runtime, och Lakeflow Spark Deklarativa pipelines-API:et flows använder samma DataFrame-API som Apache Spark och Structured Streaming. Vanliga användningsfall för SDP är inkrementell datainmatning från källor som molnlagring (inklusive Amazon S3, Azure ADLS Gen2 och Google Cloud Storage) och meddelandebussar (till exempel Apache Kafka, Amazon Kinesis, Google Pub/Sub, Azure EventHub och Apache Pulsar), inkrementella batch- och strömningstransformeringar med tillståndslösa och tillståndskänsliga operatörer och bearbetning av dataströmmar i realtid mellan transaktionslager som meddelandebussar och databaser.

Mer information om deklarativ databehandling finns i Procedurell kontra deklarativ databearbetning i Databricks.

Vilka är fördelarna med SDP?

SDP:s deklarativa karaktär ger följande fördelar jämfört med att utveckla dataprocesser med Apache Spark - och Spark Structured Streaming-API :er och köra dem med Databricks Runtime med manuell orkestrering via Lakeflow-jobb.

  • Automatisk orkestrering: SDP orkestrerar bearbetningssteg (kallas "flöden") automatiskt för att säkerställa rätt körningsordning och den maximala parallelliteten för optimal prestanda. Dessutom gör pipelines automatiskt och effektivt nya försök vid tillfälliga fel. Återförsöksprocessen börjar med den mest detaljerade och kostnadseffektiva enheten: Spark-uppgiften. Om återförsöket på aktivitetsnivå misslyckas fortsätter SDP att försöka flödet igen och slutligen hela pipelinen om det behövs.
  • Deklarativ bearbetning: SDP tillhandahåller deklarativa funktioner som kan minska hundratals eller till och med tusentals rader med manuell Spark- och Structured Streaming-kod till endast några rader. SDP AUTO CDC API förenklar bearbetningen av CDC-händelser (Change Data Capture) med stöd för både SCD Typ 1 och SCD Typ 2. Det eliminerar behovet av manuell kod för att hantera out-of-order-händelser, och det kräver ingen förståelse för strömmande semantik eller begrepp som vattenstämplar.
  • Inkrementell bearbetning: SDP tillhandahåller en inkrementell bearbetningsmotor för materialiserade vyer. Om du vill använda den skriver du omvandlingslogik med batch-semantik, och motorn bearbetar endast nya data och ändringar i datakällorna när det är möjligt. Inkrementell bearbetning minskar ineffektiv ombearbetning när nya data eller ändringar sker i källorna och eliminerar behovet av manuell kod för att hantera inkrementell bearbetning.

Viktiga begrepp

Diagrammet nedan illustrerar de viktigaste begreppen i Lakeflow Spark deklarativa pipelines.

Ett diagram som visar hur kärnbegreppen i SDP relaterar till varandra på en mycket hög nivå

Flows

Ett flöde är det grundläggande databehandlingskonceptet i SDP som stöder både strömning och batchsemantik. Ett flöde läser data från en källa, tillämpar användardefinierad bearbetningslogik och skriver resultatet till ett mål. SDP delar samma typ av direktuppspelningsflöde (Tillägg, Uppdatering, Slutförd) som Spark Structured Streaming. (För närvarande är det bara tilläggsflödet som exponeras .) Mer information finns i utdatalägen i Strukturerad direktuppspelning.

Deklarativa pipelines i Lakeflow Spark erbjuder även ytterligare flödestyper:

  • AUTO CDC är ett unikt strömningsflöde i Lakeflow SDP som hanterar CDC-händelser ur ordning och stöder både SCD Typ 1 och SCD Typ 2. Auto CDC är inte tillgängligt i Apache Spark deklarativa pipelines.
  • Materialiserad vy är ett batchflöde i SDP som endast bearbetar nya data och ändringar i källtabellerna när det är möjligt.

Mer information finns i:

Strömmande tabeller

En strömmande tabell är en form av hanterad Unity Catalog-tabell som också är ett direktuppspelningsmål för Lakeflow SDP. En strömmande tabell kan ha ett eller flera strömmande flöden (Append, AUTO CDC) inskrivna i den. AUTO CDC är ett unikt direktuppspelningsflöde som bara är tillgängligt för strömmande tabeller i Databricks. Du kan definiera direktuppspelningsflöden explicit och separat från deras måluppspelningstabell. Du kan också definiera direktuppspelningsflöden implicit som en del av en tabelldefinition för direktuppspelning.

Mer information finns i:

Materialiserade vyer

En materialiserad vy är också en form av hanterad tabell i Unity Catalog och är ett batchmål. En materialiserad vy kan ha ett eller flera materialiserade vyflöden inskrivna i den. Materialiserade vyer skiljer sig från strömmande tabeller eftersom du alltid definierar flödena implicit som en del av den materialiserade vydefinitionen.

Mer information finns i:

Sinks

En mottagare är ett strömningsmål för en pipeline och stöder för närvarande Delta-tabeller, Apache Kafka-ämnen, Azure EventHubs-ämnen och anpassade Python-datakällor. En mottagare kan ha en eller flera direktuppspelningsflöden (Tillägg) inskrivna i den.

Mer information finns i:

Pipelines

En pipeline är utvecklings- och körningsenheten i Lakeflow Spark Deklarativa Pipelines. En pipeline kan innehålla ett eller flera flöden, strömmande tabeller, materialiserade vyer och mottagare. Du använder SDP genom att definiera flöden, strömmande tabeller, materialiserade vyer och mottagare i din pipeline-källkod och sedan köra pipelinen. När pipelinen körs analyserar den beroendena för dina definierade flöden, strömmande tabeller, materialiserade vyer och mottagare och samordnar deras körningsordning och parallellisering automatiskt.

Mer information finns i:

Databricks SQL-pipelines

Strömmande tabeller och materialiserade vyer är två grundläggande funktioner i Databricks SQL. Du kan använda standard-SQL för att skapa och uppdatera strömmande tabeller och materialiserade vyer i Databricks SQL. Strömmande tabeller och materialiserade vyer i Databricks SQL körs på samma Azure Databricks-infrastruktur och har samma bearbetningssemantik som i Lakeflow Spark Deklarativa Pipelines. När du använder strömmande tabeller och materialiserade vyer i Databricks SQL definieras flöden implicit som en del av definitionen av strömmande tabeller och materialiserade vyer.

Mer information finns i:

Mer information