Dela via


Begrepp om deklarativa pipelines för Lakeflow

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

Anmärkning

Lakeflows deklarativa pipelines kräver Premiumabonnemanget. Kontakta databricks-kontoteamet om du vill ha mer information.

Vad är Lakeflow Deklarativa Rörledningar?

Lakeflow Deklarativa Pipelines är ett deklarativt ramverk för att utveckla och köra batch- och strömmande dataflöden i SQL och Python. Lakeflow Deklarativa pipelines körs på den prestandaoptimerade Databricks Runtime (DBR) och Lakeflow Deklarativa pipelines-API:et flows använder samma DataFrame-API som Apache Spark och Structured Streaming. Vanliga användningsfall för deklarativa Lakeflow-pipelines inkluderar inkrementell datainsamling från molnlagringskällor, såsom 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. Inkrementell batch- och strömningsbearbetning utförs med både tillståndslösa och tillståndskänsliga operatörer samt realtidsbearbetning av strömmar mellan transaktionslager som meddelandebussar och databaser.

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

Vilka är fördelarna med deklarativa arbetsflöden i Lakeflow?

Deklarativa naturen hos deklarativa pipelines för Lakeflow ger följande fördelar jämfört med att utveckla datapipelines med Apache Spark och Spark Structured Streaming-API:erna och köra dem med Databricks Runtime med manuell orkestrering via Lakeflow Jobs.

  • Automatisk orkestrering: Lakeflow deklarativa pipelines samordnar bearbetnings-steg (kallas "flöden") automatiskt för att säkerställa rätt körnings-ordning och maximal parallellitet för optimal prestanda. Dessutom försöker Lakeflow Deklarativa Pipelines automatiskt och effektivt igen 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 Lakeflow Deklarativa pipelines att försöka flödet igen och slutligen hela pipelinen om det behövs.
  • Deklarativ bearbetning: Deklarativa pipelines för Lakeflow ger deklarativa funktioner som kan minska hundratals eller till och med tusentals rader med manuell Spark- och Structured Streaming-kod till endast några rader. Lakeflow Deklarativa Pipelines AUTO CDC API underlättar hanteringen 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: Lakeflow Deklarativa pipelines ger 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 Declarative Pipelines.

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

Flows

Ett flöde är det grundläggande databehandlingskonceptet i Lakeflow Deklarativa pipelines som stöder både strömnings- 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. Deklarativa pipelines för Lakeflow har samma strömningsflödestyper (Append, Uppdatering, Complete) 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.

Lakeflow deklarativa dataledningar innehåller också ytterligare flödestyper:

  • AUTO CDC är ett unikt strömmande flöde i Lakeflow Deklarativa Pipelines som hanterar oordnade CDC-händelser och stöder både SCD Typ 1 och SCD Typ 2.
  • Materialiserad vy är ett unikt batchflöde i Lakeflow Deklarativa Pipelines som endast hanterar nya data och ändringar i källtabellerna när så är möjligt.

Mer information finns i:

Strömmande tabeller

En streaming-tabell är en typ av hanterad Unity Catalog-tabell som också är ett mål för strömning i Lakeflow deklarativa pipelines. En strömmande tabell kan ha ett eller flera strömmande flöden (Append, AUTO CDC) inskrivna i den. AUTO CDC är ett unikt strömmande flöde som bara är tillgängligt för strömmande tabeller. 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 mottagningspunkt är ett strömningsmål för Lakeflows deklarativa pipelines och stöder för närvarande Delta-tabeller, Azure EventHubs-topics och Apache Kafka-topics. 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 Deklarativa Pipelines i Lakeflow. En pipeline kan innehålla ett eller flera flöden, strömmande tabeller, materialiserade vyer och mottagare. Du använder Lakeflow deklarativa pipelines genom att definiera flöden, strömningstabeller, materialiserade vyer och mottagare i pipelinens 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 för Lakeflow Deklarativa Pipelines

Lakeflow deklarativa pipelines tillhandahåller streamingtabeller och materialiserade vyer som två grundläggande ETL-kapaciteter 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 Databricks-infrastruktur och har samma behandlingssemantik som i Lakeflow Declarative 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