In diesem Dokument werden die wichtigsten Konzepte, grundlegenden Bausteine, Hauptfunktionen und Vorteile von Managed Service for Apache Spark erläutert. Wenn Sie diese Grundlagen verstehen, können Sie Managed Service for Apache Spark effektiv für Ihre Datenverarbeitungsaufgaben nutzen.
Das serverlose Modell
Managed Service for Apache Spark Serverless ist das moderne Managed Service for Apache Spark-Modell mit automatisierter Ausführung. Sie können Jobs ausführen, ohne die zugrunde liegende Infrastruktur bereitstellen, verwalten oder skalieren zu müssen. Managed Service for Apache Spark übernimmt die Details für Sie.
Batches: Ein Batch (auch als Batcharbeitslast bezeichnet) ist das serverlose Äquivalent eines Managed Service for Apache Spark-Jobs. Sie senden Ihren Code, z. B. einen Spark-Job, an den Dienst. Managed Service for Apache Spark stellt die erforderlichen Ressourcen bei Bedarf bereit, führt den Job aus und löscht sie dann. Sie müssen keine Cluster- oder Jobressourcen erstellen oder verwalten. Der Dienst übernimmt diese Aufgaben für Sie.
Interaktive Sitzungen: Interaktive Sitzungen bieten eine Live-On-Demand-Umgebung für die explorative Datenanalyse, in der Regel in einem Jupyter-Notebook. Interaktive Sitzungen bieten den Komfort eines temporären, serverlosen Arbeitsbereichs, mit dem Sie Abfragen ausführen und Code entwickeln können, ohne Cluster- und Notebook-Ressourcen bereitstellen und verwalten zu müssen.
Laufzeitprofile (Sitzungsvorlagen): Ein Laufzeitprofil (in der Google Cloud CLI und der Dataproc API als Sitzungsvorlage bezeichnet) ist eine wiederverwendbare Konfiguration, mit der Sie interaktive Sitzungen definieren können. Das Profil enthält Sitzungseinstellungen wie Rechenstufe, Executor-Konfiguration, Spark-Attribute und Bibliotheksabhängigkeiten. Mit dem Laufzeitprofil erstellen Sie interaktive Sitzungsumgebungen für die Entwicklung, in der Regel in einem Jupyter-Notebook.
Das clusterbasierte Modell
Managed Service for Apache Spark auf Clustern ist die standardmäßige, infrastrukturorientierte Methode zur Verwendung von Managed Service for Apache Spark. Sie haben die volle Kontrolle über eine dedizierte Gruppe von virtuellen Maschinen für Ihre Datenverarbeitungsaufgaben.
- Cluster: Ein Cluster ist Ihre persönliche Datenverarbeitungs-Engine, die aus Google Cloud virtuellen Maschinen besteht. Sie erstellen einen Cluster, um Open-Source-Frameworks wie Apache Spark und Apache Hadoop auszuführen. Sie haben die volle Kontrolle über Clustergröße, Maschinentypen und Konfiguration.
- Jobs: Ein Job ist eine bestimmte Aufgabe, z. B. ein PySpark-Script oder eine Hadoop-Abfrage. Anstatt einen Job direkt in einem Cluster auszuführen, senden Sie ihn an Managed Service for Apache Spark, der die Jobausführung für Sie verwaltet. Sie können mehrere Jobs an den Cluster senden.
- Workflow-Vorlagen: Eine Workflow-Vorlage ist eine wiederverwendbare Definition, die eine Reihe von Jobs (einen Workflow) orchestriert. Sie können Abhängigkeiten zwischen Jobs definieren, z. B. um einen Job für maschinelles Lernen erst nach erfolgreichem Abschluss eines Datenbereinigungsjobs auszuführen. Der Vorlagenworkflow kann auf einem vorhandenen Cluster oder auf einem temporären (sitzungsspezifischen) Cluster ausgeführt werden, der für die Ausführung des Workflows erstellt und nach Abschluss des Workflows gelöscht wird. Sie können die Vorlage verwenden, um den definierten Workflow bei Bedarf auszuführen.
- Autoscaling-Richtlinien: Eine Autoscaling-Richtlinie enthält Regeln, die Sie definieren, um Worker-Maschinen basierend auf der Clusterarbeitslast einem Cluster hinzuzufügen oder daraus zu entfernen, um die Clusterkosten und -leistung dynamisch zu optimieren.
Anpassung der Umgebung
Managed Service for Apache Spark in Clustern bietet Clusterfunktionen und -komponenten, mit denen Sie Ihre Anwendungsumgebung anpassen können.
Notebook- und Entwicklungsumgebungen
Serverlose Notebooks und IDEs von Managed Service for Apache Spark verweisen auf integrierte Entwicklungsumgebungen, in denen Sie Ihren Code schreiben und ausführen können.
- BigQuery Studio und Workbench: Dies sind einheitliche Analyse- und Notebook-Umgebungen. Sie können damit Code schreiben (z. B. in einem Jupyter-Notebook) und einen Managed Service for Apache Spark-Cluster oder eine serverlose Sitzung als leistungsstarke Backend-Engine verwenden, um Ihren Code für große Datasets auszuführen.
- Managed Service for Apache Spark JupyterLab-Plug-in: Diese offizielle
JupyterLabextensiondient als Steuerfeld für Managed Service for Apache Spark Serverless in Ihrer Notebook-Umgebung. Sie vereinfacht Ihren Workflow, da Sie Cluster durchsuchen, erstellen und verwalten sowie Jobs einreichen können, ohne die Jupyter-Oberfläche verlassen zu müssen. - Google Cloud Data Agent Kit: Mit dem Data Agent Kit können Data Scientists, Engineers und Entwickler den gesamten Lebenszyklus ihrer Datenarbeitslasten in ihrer IDE verwalten. Das Data Agent Kit unterstützt Managed Service for Apache Spark, sodass Sie Code entwickeln, interaktive Sitzungen erstellen und Pipelines erstellen können – direkt in VS Code oder einer unterstützten agentischen Befehlszeile.
- Managed Service for Apache Spark Connect Python Connector: Diese Python-Bibliothek vereinfacht die Verwendung von Spark Connect mit Managed Service for Apache Spark. Er übernimmt die Authentifizierung und die Endpunktkonfiguration, sodass Sie Ihre lokale Python-Umgebung, z. B. ein Notebook oder eine IDE, viel einfacher mit einem Remote-Cluster von Managed Service for Apache Spark für die interaktive Entwicklung verbinden können.
Das Containermodell
Managed Service for Apache Spark in der Google Kubernetes Engine stellt virtuelle Managed Service for Apache Spark-Cluster in einem GKE-Cluster bereit. Im Gegensatz zu Managed Service for Apache Spark-Clustern werden für virtuelle Managed Service for Apache Spark-Cluster keine separaten Master- und Worker-VMs bereitgestellt. Stattdessen stellen sie Knotenpools in einem GKE-Cluster bereit. Managed Service for Apache Spark on GKE-Jobs werden als Pods in diesen Knotenpools ausgeführt. Die Knotenpools und die Planung von Pods in den Knotenpools werden von Managed Service for Apache Spark in der GKE verwaltet.