Untersuchen des strukturierten Apache Spark-Streamings
Apache Spark ist ein Framework für die verteilte Verarbeitung großer Datenmengen zur Analyse von Daten. Sie können Spark in Microsoft Azure in den folgenden Diensten nutzen:
- Microsoft Fabric
- Azure Databricks
Spark kann verwendet werden, um Code (in der Regel in Python, Scala oder Java geschrieben) parallel auf mehreren Clusterknoten auszuführen, um sehr große Datenmengen effizient zu verarbeiten. Spark kann sowohl für die Batchverarbeitung als auch für die Streamverarbeitung verwendet werden.
Spark Structured Streaming
Um Streamingdaten in Spark zu verarbeiten, können Sie die Bibliothek für strukturiertes Spark-Streaming verwenden, die eine Anwendungsprogrammierschnittstelle (API) zum Erfassen, Verarbeiten und Ausgeben von Ergebnissen aus fortlaufenden Datenströmen bietet.
Das strukturierte Spark-Streaming basiert auf einer ubiquitären Struktur in Spark, einem Datenframe, der eine Tabelle mit Daten kapselt. Sie verwenden die API für strukturiertes Spark-Streaming, um Daten aus einer Echtzeitdatenquelle, z. B. einem Kafka-Hub, einem Dateispeicher oder einem Netzwerkport, in einen „unbegrenzten“ Datenframe zu lesen, der fortlaufend mit neuen Daten aus dem Stream aufgefüllt wird. Anschließend definieren Sie eine Abfrage für den Datenframe, die die Daten auswählt, hochrechnet oder aggregiert – häufig in bestimmten Zeitfenstern. Die Ergebnisse der Abfrage generieren einen weiteren Datenframe, der zur Analyse oder weiteren Verarbeitung gespeichert werden kann.
Spark Structured Streaming bietet sich an für Echtzeitanalysen, wenn Sie Streamingdaten in einen Spark-basierten Data Lake oder in einen Analysedatenspeicher integrieren müssen.
Hinweis
Weitere Informationen zum strukturierten Spark-Streaming finden Sie im Programmierleitfaden zum strukturierten Spark-Streaming.
Delta Lake
Delta Lake ist eine Open-Source-Speicherebene, die Unterstützung für Transaktionskonsistenz, Schemaerzwingung und weitere gängige Data Warehousing-Funktionen für Data Lake-Speicher bietet. Sie vereinheitlicht zudem die Speicherung von Streaming- und Batchdaten und kann in Spark genutzt werden, um relationale Tabellen sowohl für die Batch- als auch für die Streamverarbeitung zu definieren. Bei Verwendung für die Streamverarbeitung kann eine Delta Lake-Tabelle als Streamingquelle zur Abfrage von Echtzeitdaten oder als Senke genutzt werden, in die ein Datenstrom geschrieben wird.
Die Spark-Laufzeiten in Microsoft Fabric und Azure Databricks beinhalten Unterstützung für Delta Lake.
Delta Lake in Kombination mit Spark Structured Streaming ist eine gute Lösung, wenn Sie verarbeitete Batch- und Streamdaten in einem Data Lake hinter einem relationalen Schema für SQL-basierte Abfragen und Analysen abstrahieren müssen.
Hinweis
Weitere Informationen zu Delta Lake finden Sie unter Lakehouse- und Delta Lake-Tabellen.