Lösningsidéer
I den här artikeln beskrivs en lösningsidé. Molnarkitekten kan använda den här vägledningen för att visualisera huvudkomponenterna för en typisk implementering av den här arkitekturen. Använd den här artikeln som utgångspunkt för att utforma en välkonstruerad lösning som överensstämmer med arbetsbelastningens specifika krav.
Den här artikeln beskriver en lösning som du kan använda för att mata in och bearbeta miljontals strömmande händelser per sekund och sedan skriva händelserna till en Delta Lake-tabell. Den här lösningen använder Apache Spark och Apache Kafka i Azure HDInsight.
Apache®, Apache Kafka och Apache Spark är antingen registrerade varumärken eller varumärken som tillhör Apache Software Foundation i USA och/eller andra länder eller regioner. Inget godkännande från Apache Software Foundation underförstås av användningen av dessa märken.
Delta Lake Project är ett registrerat varumärke som tillhör Linux Foundation i USA och/eller andra länder.
Arkitektur
Ladda ned en Visio-fil med den här arkitekturen.
Jupyter Notebook-logotypen är ett varumärke som tillhör respektive företag. Inget godkännande understås av användningen av det här märket.
Dataflöde
Följande dataflöde motsvarar föregående arkitektur.
Realtidshändelsedata, till exempel IoT-händelsedata, matas in till Apache Kafka via en Apache Kafka-producent.
Apache Spark Structured Streaming bearbetar data nästan i realtid.
Apache Spark tillhandahåller mottagare för att skriva transformerade och beräknade analyser. Bearbetade data lagras i ett Azure Data Lake Storage-konto i Delta Lake-tabellformat.
Bearbetade data matas kontinuerligt in i Apache Kafka.
Data i Azure Data Lake Storage-kontot kan ge insikter om:
- Instrumentpaneler i nära realtid i Power BI.
- Azure Mašinsko učenje att använda med maskininlärningsverktyg.
- Jupyter Notebook med hjälp av PySpark eller Scala för att använda Delta Lake-tabeller.
Komponenter
HDInsight tillhandahåller komponenter med öppen källkod för företagsanalys. Du kan köra dessa Apache-komponenter i en Azure-miljö med säkerhet i företagsklass. HDInsight erbjuder även andra fördelar som skalbarhet, säkerhet, centraliserad övervakning, global tillgänglighet och utökningsbarhet.
Apache Kafka i HDInsight är en hanterad distribuerad plattform med öppen källkod som du kan använda för att skapa strömmande datapipelines och program i realtid. Apache Kafka ger hög prestanda och hållbarhet så att du kan gruppera poster i ämnen, partitioner och konsumentgrupper och multiplexhändelseströmmar från producenter till konsumenter.
Apache Spark i HDInsight är en hanterad Microsoft-implementering av Apache Spark i molnet och är ett av flera Spark-erbjudanden i Azure.
Apache Spark Structured Streaming är en skalbar feltoleransmotor exakt en gång för bearbetning av strömmar. Den bygger på Spark SQL-motorn. Strukturerade direktuppspelningsfrågor är nära realtid och har låg svarstid. Apache Spark Structured Streaming tillhandahåller flera anslutningsappar för datakällor och datamottagare. Du kan också ansluta flera strömmar från olika källtyper.
Apache Spark Structured Streaming i Apache Kafka används för att batcha och strömma frågor och lagra dem i ett lagringslager, en databas eller Apache Kafka.
Ett Delta Lake-lagringslager ger tillförlitlighet för datasjöar genom att lägga till ett transaktionellt lagringslager ovanpå data som lagras i molnlagring, till exempel Azure Storage. Det här lagringslagret utökar Apache Parquet-datafiler med filbaserade transaktionsloggar. Du kan lagra data i Delta Lake-tabellformat för att dra nytta av fördelar som atomicitets-, konsekvens-, isolerings- och hållbarhetstransaktioner (ACID), schemautveckling och historikversioner.
En Power BI Delta Lake-tabellanslutning används för att läsa Delta Lake-tabelldata från Power BI.
Mašinsko učenje är en Azure-tjänst där du kan skicka de data som du samlar in för att sedan använda för maskininlärningsmodeller.
Information om scenario
Händelseströmning är en kontinuerlig obundna sekvens av oföränderliga händelser som flödar från händelseutgivaren till prenumeranter. I vissa affärsanvändningsfall måste du lagra dessa händelser i raw-format och sedan rensa, transformera och aggregera händelserna för olika analysbehov. Använd händelseströmning för att utföra bearbetning i nära realtid och analys av händelser, vilket genererar omedelbara insikter.
Potentiella användningsfall
Den här lösningen ger ditt företag möjlighet att bearbeta oföränderliga feltolerbara händelseströmmar exakt en gång nästan i realtid. Den här metoden använder Apache Kafka som indatakälla för Spark Structured Streaming och använder Delta Lake som lagringslager.
Affärsscenarier omfattar:
- Identifiering av kontoinloggningsbedrägeri
- Analys av aktuella marknadsförhållanden
- Analys av realtidsdata för aktiemarknaden
- Identifiering av kreditkortsbedrägerier
- Bearbetning av digital bild och video
- Läkemedelsforskning och upptäckt
- Mellanprogram för stordatalösningar för företag
- Riskberäkning för blankning
- Smart tillverkning och industriell IoT (IIoT)
Den här lösningen gäller för följande branscher:
- Jordbruk
- Konsumentpaketerade varor (CPG)
- Cybersäkerhet
- Ekonomi
- Sjukvård
- Försäkring
- Logistik
- Manufacturing
- Retail
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudsakliga författare:
- Arun Sethia | Programhanteraren för huvudnamn
- Sairam Yeturi | Principal Product Manager
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.
Nästa steg
- Vad är Azure HDInsight?
- Strömma i stor skala i HDInsight
- Snabbstart: Skapa ett Apache Spark-kluster i Azure HDInsight
- Snabbstart: Skapa ett Apache Kafka-kluster i Azure HDInsight
- Översikt över företagssäkerhet i Azure HDInsight
- HDInsight 5.0 med Spark 3.x – del 1
- HDInsight – Iceberg med öppen källkod i tabellformat
- Skapa ett data lakehouse med hjälp av Azure HDInsight
- Använda ett delat Hive-metaarkiv i Azure Synapse, HDInsight och Databricks