Was ist Apache Spark?

Apache Spark ist eine einheitliche Analyse-Engine für die Verarbeitung großer Datenmengen. Sie nutzt integrierte Module für SQL, Streaming, maschinelles Lernen und Graphverarbeitung. Spark kann auf Kubernetes, eigenständigen Clustern oder nativ in der Cloud und für unterschiedliche Datenquellen ausgeführt werden. Es bietet umfangreiche APIs in Java, Scala, Python (PySpark) und R und ist daher für eine Vielzahl von Entwicklern und Data Scientists zugänglich.

Auf Google Cloud wird Apache Spark mit Managed Service for Apache Spark in eine „Data-to-AI“-Plattform umgewandelt. Durch die Nutzung verwalteter Cluster oder serverloser Spark-Optionen und bahnbrechender Leistungsverbesserungen wie der Lightning Engine löst Google Cloud die „Tuning-Steuer“, die mit herkömmlichen Spark-Bereitstellungen verbunden ist. Durch die tiefgreifende Integration in eine einheitliche Daten- und KI-Plattform können Nutzer schneller als je zuvor von Rohdaten zu KI-gestützten Aktionen gelangen.

Übersicht

Das Spark-System besteht aus fünf Hauptkomponenten:

  • Spark Core ist eine Engine zur verteilten Datenverarbeitung für allgemeine Zwecke. Sie ist die grundlegende Ausführungs-Engine, die die verteilte Aufgabenverteilung, Planung und grundlegende E/A-Funktionen verwaltet. Spark Core führte das Konzept der Resilient Distributed Datasets (RDDs) ein, unveränderbare verteilte Sammlungen von Objekten, die parallel mit Fehlertoleranz verarbeitet werden können. Bibliotheken für SQL, Streamverarbeitung, maschinelles Lernen und Graphberechnung basieren auf Spark Core und können zusammen in einer Anwendung verwendet werden.
  • Spark SQL ist das Spark-Modul für die Arbeit mit strukturierten Daten und führte DataFrames ein, die eine optimiertere und entwicklerfreundlichere API für RDDs zur Bearbeitung strukturierter Daten bieten. Sie können damit strukturierte Daten in Spark-Programmen entweder über SQL oder eine vertraute DataFrame API abfragen. Spark SQL unterstützt die HiveQL-Syntax und ermöglicht Zugriff auf vorhandene Apache Hive-Warehouses. Google Cloud beschleunigt die Leistung von Spark-Jobs weiter, insbesondere bei SQL- und DataFrame-Operationen, mit Innovationen wie der Lightning Engine. So können Sie Ihre Abfragen und Datenverarbeitungsaufgaben deutlich schneller ausführen, wenn Sie Spark in Google Cloud verwenden.
  • Spark Streaming ermöglicht die einfache Erstellung skalierbarer, fehlertoleranter Streaminglösungen. Es macht die sprachintegrierte Spark-API für die Streamverarbeitung nutzbar, sodass Sie Streamingjobs auf die gleiche Weise wie Batchjobs schreiben können – mit DStreams oder mit der neueren Structured Streaming API auf Basis von DataFrames. Spark Streaming unterstützt Java, Scala und Python und bietet eine sofort einsatzfähige zustandsorientierte „Exactly-Once“-Semantik.
  • MLlib ist die skalierbare Machine-Learning-Bibliothek von Spark. Sie bietet Tools, die maschinelles Lernen in der Praxis skalierbar machen und vereinfachen. MLlib enthält viele gängige Lernalgorithmen wie Klassifizierung, Regression, Empfehlung und Clustering. Sie enthält auch Dienstprogramme für Workflows und andere Anwendungen wie Feature-Transformationen, die Erstellung von ML-Pipelines, Modellbewertung, verteilte lineare Algebra und Statistiken. In Kombination mit der Gemini Enterprise Agent Platform lassen sich Spark MLlib-Workflows nahtlos in MLOps-Pipelines einbinden und die Entwicklung kann mit Gemini für das Programmieren und die Fehlerbehebung optimiert werden.
  • GraphX ist die Spark API für Graphen und parallele Graphberechnung. Die flexible API funktioniert nahtlos sowohl mit Graphen als auch Sammlungen und vereint die ETL-Methode (Extract, Transform, Load), explorative Analysen und iterative Graphberechnung.

Apache Spark-Ökosystem und -Komponenten

Das Spark-System besteht aus fünf Hauptkomponenten, die durch die Infrastruktur von Google Cloud optimiert werden:

  • Spark Core: Die grundlegende Ausführungs-Engine, die die Verteilung von Aufgaben und E/A-Vorgängen verwaltet. Es wurden Resilient Distributed Datasets (RDDs) eingeführt, unveränderliche verteilte Sammlungen von Objekten, die parallel und fehlertolerant verarbeitet werden.
  • Spark SQL: Das Modul für die Arbeit mit strukturierten Daten mithilfe von DataFrames. Google Cloud beschleunigt diese Vorgänge mit der Lightning Engine weiter und ermöglicht erhebliche Geschwindigkeitssteigerungen ohne manuelle Abstimmung.
  • Spark Streaming: Ermöglicht skalierbare, fehlertolerante Streaminglösungen für Batch- und Echtzeit-Jobs.
  • MLlib: Eine skalierbare Machine-Learning-Bibliothek. In Kombination mit der Gemini Enterprise Agent Platform lassen sich MLlib-Workflows nahtlos in MLOps-Pipelines einbinden und die Entwicklung kann mit Gemini für das Programmieren und die Fehlerbehebung optimiert werden.
  • GraphX: Die API für Graphen und parallele Graphberechnung.

Welche Vorteile bietet Apache Spark?

Geschwindigkeit

Die In-Memory-Verarbeitung und der DAG-Scheduler von Spark ermöglichen schnellere Arbeitslasten als festplattenbasierte Verarbeitungs-Engines, insbesondere bei iterativen Aufgaben. Google Cloud steigert die Geschwindigkeit mit optimierter Infrastruktur und der Lightning Engine.

Nutzerfreundlichkeit

Die allgemeinen Operatoren von Spark vereinfachen die Entwicklung paralleler Anwendungen. Die interaktive Nutzung mit Scala, Python, R und SQL ermöglicht eine schnelle Entwicklung. Google Cloud bietet serverlose Optionen und integrierte Notebooks mit Gemini.

Skalierbarkeit

Spark bietet horizontale Skalierbarkeit und verarbeitet riesige Datenmengen, indem die Arbeit auf die Clusterknoten verteilt wird. Google Cloud vereinfacht die Skalierung mit serverlosem Autoscaling und flexiblen verwalteten Clustern.

Universalität

Spark bietet eine ganze Reihe von Bibliotheken, u. a. für SQL und DataFrames, MLlib für maschinelles Lernen, GraphX und Spark Streaming. Sie können diese Bibliotheken nahtlos in einer Anwendung kombinieren.

Innovatives Open-Source-Framework

Spark nutzt die Leistungsfähigkeit von Open-Source-Communities für schnelle Innovationen und Problemlösungen. Google Cloud unterstützt diesen offenen Ansatz und bietet Apache Spark in der Standardversion an, erweitert aber gleichzeitig die Funktionen.

Vorteile von Spark gegenüber einer reinen SQL-Engine

Apache Spark ist eine schnelle Computercluster- oder serverlose Engine für allgemeine Zwecke. Mithilfe von Spark können Programmierer schnell Anwendungen in Java, Scala, Python, R oder SQL schreiben. Das macht die Lösung für Entwickler, Data Scientists sowie für Geschäftsanwender mit Statistikkenntnissen zugänglich. Nutzer können sich über Spark SQL mit jeder Datenquelle verbinden und diese als Tabelle darstellen, die dann von SQL-Clients genutzt werden kann. Auch interaktive Machine-Learning-Algorithmen lassen sich einfach in Spark implementieren.

Bei einer reinen SQL-Engine wie Apache Impala, Apache Hive oder Apache Drill können Nutzer zum Abfragen von Daten, die in mehreren Datenbanken gespeichert sind, nur SQL oder SQL-ähnliche Sprachen verwenden. Im Vergleich zu Spark sind diese Frameworks also kleiner. In Google Cloud müssen Sie sich jedoch nicht für eine der beiden Optionen entscheiden. BigQuery bietet leistungsstarke SQL-Funktionen und mit Managed Service for Apache Spark können Sie die Vielseitigkeit von Spark für dieselben Daten über Lakehouse mit offenen Formaten wie Apache Iceberg nutzen.

Wie setzen Unternehmen Spark ein?

Viele Unternehmen nutzen Spark, um den komplexen und rechenintensiven Vorgang der Verarbeitung und Analyse großer Datenmengen zu vereinfachen. Dabei kann es sich um strukturierte oder unstrukturierte, Echtzeit- oder archivierte Daten handeln. Mit Spark können Nutzer außerdem komplexe Funktionen wie Machine-Learning- und Graph-Algorithmen nahtlos integrieren. Häufige Anwendungsfälle:

  • ETL/ELT in großem Umfang
  • Datenverarbeitung in Echtzeit
  • Maschinelles Lernen
  • Interaktive Datenexploration
  • Graphenanalyse

Data Engineers

Data Engineers nutzen Spark, um robuste Datenverarbeitungs-Pipelines und umfangreiche ETL-Workflows zu entwerfen, zu erstellen und zu verwalten. In Google Cloud können Data Engineers mit Managed Service for Apache Spark die Infrastrukturverwaltung eliminieren und zwischen einer serverlosen Ausführung ohne Betriebsaufwand oder vollständig verwalteten Clustern wählen. Durch die nahtlose Einbindung in BigQuery und Knowledge Catalog können Entwickler verwaltete, offene Lakehouse-Architekturen mit Formaten wie Apache Iceberg erstellen. Außerdem können sie mit Data Agents und Gemini das Data Wrangling automatisieren und die PySpark-Codegenerierung beschleunigen, sodass sie schneller als je zuvor von Rohdaten zu produktionsreifen Pipelines gelangen.

Data Scientists

Data Scientists können Analysen und maschinelles Lernen mithilfe von Spark und GPUs erweitern. Die Möglichkeit, mit einer vertrauten Programmiersprache größere Datenmengen schneller zu verarbeiten, steigert das Innovationspotenzial. Google Cloud bietet robusten GPU-Support für Spark und eine nahtlose Integration in die Gemini Enterprise Agent Platform, sodass Data Scientists Modelle schneller erstellen und bereitstellen können. Sie können ihre bevorzugten IDEs wie Jupyter oder VS Code für eine flexible Entwicklungsumgebung verbinden. In Kombination mit Gemini beschleunigt dies den Workflow von der ersten Erkundung bis zur Produktionsbereitstellung.

Spark in Google Cloud – jetzt noch besser

Spark – jetzt noch einfacher, intelligenter und schneller

Google Cloud löst die üblichen Herausforderungen beim Ausführen von Spark in großem Maßstab, sodass Sie sich auf die Gewinnung von Informationen konzentrieren können, ohne sich Gedanken über die Infrastruktur zu machen. Optimieren Sie Ihre Erfahrung mit Managed Service for Apache Spark. Managed Service for Apache Spark:

  • Flexible Bereitstellungsoptionen: Wählen Sie die richtige Umgebung für Ihre Arbeitslast aus. Mit serverlosem Spark ohne Betriebsaufwand können Sie den operativen Aufwand reduzieren. Oder Sie behalten mit vollständig verwalteten Clustern die detaillierte Kontrolle.
  • Branchenführende Leistung: Mit der Lightning Engine können Sie Ihre anspruchsvollsten ETL- und Data-Science-Arbeitslasten bis zu 4,9‑mal schneller ausführen. Die Funktion ist sowohl für serverlose als auch für verwaltete Cluster verfügbar. Sie reduziert die Rechenkosten und macht manuelle Abstimmungen ohne Codeänderungen überflüssig.
  • Einheitliche Entwicklung in Ihrer bevorzugten IDE: Sie können Spark-Code direkt in Ihrer bevorzugten Umgebung erstellen und ausführen, ob VS Code, Jupyter oder eine andere. Sie können SQL und Spark nahtlos mit denselben verwalteten Daten verwenden, ohne den Kontext wechseln zu müssen.
  • Agentenbasierte KI-Entwicklung: Beschleunigen Sie Ihren Workflow mit Data Agents, die das Coding und Data Wrangling in PySpark automatisieren. Nutzen Sie Gemini Cloud Assist für die automatisierte Ursachenanalyse und Fehlerbehebung komplexer Jobs.
  • Einheitliche Governance: Mit Knowledge Catalog können Sie die Daten- und KI-Governance verwalten, Semantik für Agenten bereitstellen und einen konsistenten Datenlebenszyklus von der Aufnahme bis zu KI-gestützten Erkenntnissen sicherstellen.

Zusätzliche Ressourcen

Gleich loslegen

Profitieren Sie von einem Guthaben in Höhe von 300 $ und mehr als 20 immer kostenlose Produkten, um Google Cloud kennenzulernen.

Google Cloud