Pipelines för inmatning, ETL och dataströmbearbetning med Azure Databricks och Delta Lake

Azure Databricks
Azure Data Lake Storage
Azure IoT Hub
Azure Data Factory
Azure Event Hubs

Lösningsidéer

Den här artikeln är en lösningsidé. Om du vill att vi ska utöka innehållet med mer information, till exempel potentiella användningsfall, alternativa tjänster, implementeringsöverväganden eller prisvägledning, kan du meddela oss genom att ge GitHub-feedback.

Din organisation måste mata in data i alla format, storlekar och hastigheter i molnet på ett konsekvent sätt. Lösningen i den här artikeln uppfyller det behovet med en arkitektur som implementerar extrahering, transformering och inläsning (ETL) från dina datakällor till en datasjö. Datasjön kan innehålla alla data, inklusive transformerade och kuraterade versioner i olika skalor. Data kan användas för dataanalys, business intelligence (BI), rapportering, datavetenskap och maskininlärning.

Apache® och Apache Spark™ är antingen registrerade varumärken eller varumärken som tillhör Apache Software Foundation i USA och/eller andra länder. Inget godkännande från Apache Software Foundation underförstås av användningen av dessa märken.

Arkitektur

Diagram that shows the architecture and data flow for ETL and stream processing with Azure Databricks.

Ladda ned en Visio-fil med den här arkitekturen.

Dataflöde

  1. Data matas in på följande sätt:

    • Händelseköer som Event Hubs, IoT Hub eller Kafka skickar strömmande data till Azure Databricks, som använder den optimerade deltamotorn för att läsa data.
    • Schemalagda eller utlösta Data Factory-pipelines kopierar data från olika datakällor i rådataformat. Automatisk inläsning i Azure Databricks bearbetar data när de tas emot.
  2. Azure Databricks läser in data i optimerade, komprimerade Delta Lake-tabeller eller -mappar i bronslagret i Data Lake Storage.

  3. Direktuppspelning, schemalagda eller utlösta Azure Databricks-jobb läser nya transaktioner från Data Lake Storage Bronze-lagret. Jobben ansluter, rensar, transformerar och aggregerar data innan du använder ACID-transaktioner för att läsa in dem i kurerade datauppsättningar i Data Lake Storage Silver- och Gold-lagren.

  4. Datauppsättningarna lagras i Delta Lake i Data Lake Storage.

Varje tjänst matar in data i ett gemensamt format för att säkerställa konsekvens. Arkitekturen använder en delad datasjö baserat på det öppna Delta Lake-formatet. Rådata matas in från olika batch- och strömningskällor för att bilda en enhetlig dataplattform. Plattformen kan användas för underordnade användningsfall som analys, BI-rapportering, datavetenskap, AI och maskininlärning.

Lagringslager för brons, silver och guld

Med medaljongmönstret, som består av lagringsskikten Brons, Silver och Guld, har kunderna flexibel åtkomst och utökad databehandling.

  • Bronstabeller ger startpunkten för rådata när de hamnar i Data Lake Storage. Data tas i dess råa källformat och konverteras till det öppna, transaktionella Delta Lake-formatet för bearbetning. Lösningen matar in data i bronsskiktet med hjälp av:
    • Apache Spark-API:er i Azure Databricks. API:erna läser strömmande händelser från Event Hubs eller IoT Hub och konverterar sedan dessa händelser eller rådatafiler till Delta Lake-formatet.
    • KOMMANDOT KOPIERA TILL . Använd kommandot för att kopiera data direkt från en källfil eller katalog till Delta Lake.
    • Automatisk inläsning av Azure Databricks. Automatisk inläsning hämtar filer när de kommer till datasjön och skriver dem till Delta Lake-formatet.
    • Data Factory-kopieringsaktiviteten. Kunder kan använda det här alternativet för att konvertera data från något av de format som stöds till Delta Lake-formatet.
  • Silvertabeller lagrar data medan de optimeras för BI- och datavetenskapsanvändningsfall. Bronslagret matar in rådata och sedan görs fler ETL- och strömbearbetningsuppgifter för att filtrera, rensa, transformera, koppla och aggregera data till Silver-kurerade datamängder. Företag kan använda en konsekvent beräkningsmotor, till exempel Delta Engine med öppna standarder, när de använder Azure Databricks som den första tjänsten för dessa uppgifter. De kan sedan använda välbekanta programmeringsspråk som SQL, Python, R eller Scala. Företag kan också använda repeterbara DevOps-processer och tillfälliga beräkningskluster som är stora för deras enskilda arbetsbelastningar.
  • Guldtabeller innehåller berikade data, redo för analys och rapportering. Analytiker kan använda valfri metod, till exempel PySpark, Koalas, SQL, Power BI och Excel för att få nya insikter och formulera frågor.

Komponenter

  • Event Hubs parsar och poängsätter strömmande meddelanden från olika källor, inklusive lokala system, och tillhandahåller realtidsinformation.
  • Data Factory samordnar datapipelines för inmatning, förberedelse och omvandling av alla dina data i valfri skala.
  • Data Lake Storage sammanför strömmande data och batchdata, inklusive strukturerade, ostrukturerade och halvstrukturerade data som loggar, filer och media.
  • Azure Databricks rensar och transformerar de strukturlösa datauppsättningarna och kombinerar dem med strukturerade data från driftdatabaser eller informationslager.
  • Med IoT Hub får du mycket säker och tillförlitlig kommunikation mellan ditt IoT-program och dina enheter.
  • Delta Lake på Data Lake Storage stöder ACID-transaktioner för tillförlitlighet och är optimerad för effektiv inmatning, bearbetning och frågor.

Information om scenario

Datainmatning, ETL och dataströmbearbetning med Azure Databricks är enkel, öppen och samarbetsinriktad:

  • Enkelt: En öppen datasjö med ett kuraterat lager i ett format med öppen källkod förenklar dataarkitekturen. Delta Lake, ett verktyg med öppen källkod, ger åtkomst till Azure Data Lake Storage-datasjön. Delta Lake på Data Lake Storage stöder atomicitets-, konsekvens-, isolerings- och hållbarhetstransaktioner (ACID) för tillförlitlighet. Delta Lake är optimerat för effektiv inmatning, bearbetning och frågor.
  • Öppen: Lösningen stöder öppen källkod, öppna standarder och öppna ramverk. Det fungerar också med populära integrerade utvecklingsmiljöer (IDEs), bibliotek och programmeringsspråk. Via interna anslutningsappar och API:er fungerar lösningen även med ett brett utbud av andra tjänster.
  • Samarbete: Datatekniker, dataforskare och analytiker arbetar tillsammans med den här lösningen. De kan använda gemensamma notebook-filer, IDE:er, instrumentpaneler och andra verktyg för att komma åt och analysera vanliga underliggande data.

Azure Databricks integreras sömlöst med andra Azure-tjänster som Data Lake Storage, Azure Data Factory, Azure Event Hubs och Azure IoT Hub.

Potentiella användningsfall

Den här lösningen är inspirerad av systemet som Providence Health Care har skapat för realtidsanalys. Alla branscher som matar in batchdata eller strömmande data kan också överväga den här lösningen. Exempel:

  • Detaljhandel och näthandel
  • Ekonomi
  • Hälsovård och biovetenskap
  • Energileverantörer

Nästa steg

  • Spanish Point Technologies bygger sin matchande motor med Hjälp av Azure Databricks och Azure Data Factory för att mata in data i stor skala för att hjälpa musiker att få rättvis betalning.

Guider och fullständigt distribuerade arkitekturer: