Gestructureerd streamen van Apache Spark verkennen

Voltooid

Apache Spark is een gedistribueerd verwerkingsframework voor grootschalige gegevensanalyse. U kunt Spark in Microsoft Azure gebruiken in de volgende services:

  • Microsoft Fabric
  • Azure Databricks

Spark kan worden gebruikt om code (meestal geschreven in Python, Scala of Java) parallel uit te voeren op meerdere clusterknooppunten, zodat deze zeer grote hoeveelheden gegevens efficiƫnt kan verwerken. Spark kan worden gebruikt voor zowel batchverwerking als stroomverwerking.

Spark Structured Streaming

Als u streaminggegevens in Spark wilt verwerken, kunt u de Spark Structured Streaming-bibliotheek gebruiken, die een API (Application Programming Interface) biedt voor het opnemen, verwerken en uitvoeren van resultaten van permanente gegevensstromen.

Spark Structured Streaming is gebaseerd op een alomtegenwoordige structuur in Spark, een dataframe genoemd, waarin een tabel met gegevens wordt ingekapseld. U gebruikt de Spark Structured Streaming-API om gegevens te lezen uit een realtime gegevensbron, zoals een Kafka-hub, een bestandsarchief of een netwerkpoort, in een gegevensframe zonder grenzen dat voortdurend wordt gevuld met nieuwe gegevens uit de stream. Vervolgens definieert u een query in het gegevensframe dat de gegevens selecteert, projecten of samenvoegt, vaak in tijdelijke vensters. De resultaten van de query genereren een ander dataframe, dat kan worden bewaard voor analyse of verdere verwerking.

Het diagram van streaminggegevens wordt geschreven naar een dataframe dat wordt opgevraagd om een ander dataframe te maken voor analyse.

Spark Structured Streaming is een uitstekende keuze voor realtime analyses wanneer u streaminggegevens moet opnemen in een op Spark gebaseerde data lake of analytische gegevensopslag.

Delta Lake

Delta Lake is een opensource-opslaglaag die ondersteuning biedt voor transactionele consistentie, schema-afdwinging en andere algemene functies voor datawarehousing aan Data Lake Storage. Ook wordt opslag voor streaming en batchgegevens gecombineerd en kan in Spark worden gebruikt om relationele tabellen te definiƫren voor zowel batch- als streamverwerking. Wanneer deze wordt gebruikt voor het verwerken van stromen, kan een Delta Lake-tabel worden gebruikt als een streamingbron voor query's op basis van realtime gegevens of als sink waarnaar een gegevensstroom wordt geschreven.

De Spark-runtimes in Microsoft Fabric en Azure Databricks omvatten ondersteuning voor Delta Lake.

Delta Lake in combinatie met Spark Structured Streaming is een goede oplossing wanneer u verwerkte gegevens in een data lake achter een relationeel schema moet abstraheren en streamen voor query's en analyses op basis van SQL.

Notitie

Zie De tabellen Lakehouse en Delta Lake voor meer informatie over Delta Lake .