Wichtige Konzepte für Managed Service for Apache Spark

In diesem Dokument werden die wichtigsten Konzepte, grundlegenden Bausteine, Kernfunktionen und Vorteile von Managed Service for Apache Spark erläutert. Wenn Sie diese Grundlagen kennen, 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, automatisch ausgeführte Managed Service for Apache Spark-Modell. Damit können Sie 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 Batcharbeitslast genannt) 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 gibt sie dann wieder frei. Sie erstellen oder verwalten keine Cluster- oder Jobressourcen. Das übernimmt der Dienst für Sie.
  • Interaktive Sitzungen: Interaktive Sitzungen bieten eine Live-Umgebung auf Abruf für die explorative Datenanalyse, in der Regel in einem Jupyter-Notebook. Interaktive Sitzungen bieten den Komfort eines temporären, serverlosen Arbeitsbereichs, in dem Sie Abfragen ausführen und Code entwickeln können, ohne Cluster- und Notebookressourcen bereitstellen und verwalten zu müssen.
  • Sitzungsvorlagen: Eine Sitzungsvorlage ist eine wiederverwendbare Konfiguration, mit der Sie interaktive Sitzungen definieren können. Die Vorlage enthält Sitzungseinstellungen wie Spark-Eigenschaften und Bibliotheksabhängigkeiten. Sie verwenden die Vorlage, um interaktive Sitzungsumgebungen für die Entwicklung zu erstellen, in der Regel in einem Jupyter-Notebook.

Das clusterbasierte Modell

Managed Service for Apache Spark in Clustern ist die Standardmethode für die Nutzung von Managed Service for Apache Spark, bei der die Infrastruktur im Mittelpunkt steht. Sie haben die vollständige Kontrolle über eine dedizierte Gruppe virtueller Maschinen für Ihre Datenverarbeitungsaufgaben.

  • Cluster: Ein Cluster ist Ihre persönliche Datenverarbeitungs-Engine, die aus virtuellen Maschinen besteht. Google Cloud Sie erstellen einen Cluster, um Open-Source-Frameworks wie Apache Spark und Apache Hadoop auszuführen. Sie haben die vollständige Kontrolle über die Clustergröße, die Maschinentypen und die Konfiguration.
  • Jobs: Ein Job ist eine bestimmte Aufgabe, z. B. ein PySpark-Skript 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.
  • Workflowvorlagen: Eine Workflowvorlage ist eine wiederverwendbare Definition, mit der eine Reihe von Jobs (ein Workflow) orchestriert wird. Sie kann Abhängigkeiten zwischen Jobs definieren, z. B. um einen Machine-Learning-Job erst auszuführen, nachdem ein Job zur Datenbereinigung erfolgreich abgeschlossen wurde. Der Workflow aus der Vorlage kann in einem vorhandenen Cluster oder in einem temporären (sitzungsspezifischen) Cluster ausgeführt werden, der zum Ausführen des Workflows erstellt und nach Abschluss des Workflows gelöscht wird. Sie können den definierten Workflow bei Bedarf mit der Vorlage ausführen.
  • Autoscaling-Richtlinien: Eine Autoscaling-Richtlinie enthält Regeln, die Sie definieren, um Worker-Maschinen basierend auf der Clusterarbeitslast zu 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

Managed Service for Apache Spark-Notebooks und -IDEs (Integrated Development Environments) sind mit integrierten Entwicklungsumgebungen verknüpft, 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 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 JupyterLabextension dient 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 senden können, ohne die Jupyter-Oberfläche verlassen zu müssen.
  • Google Cloud Data Agent Kit für VS Code: Mit dieser offiziellen VS Code-Erweiterung können Data Scientists, Data Engineers und Entwickler den gesamten Lebenszyklus ihrer Datenarbeitslast in ihrer IDE verwalten. Das Data Agent Kit bietet Data Cloud-Unterstützung für Managed Service for Apache Spark, sodass Sie Code entwickeln, interaktive Sitzungen erstellen und Pipelines erstellen direkt in VS Code erstellen können.
  • Managed Service for Apache Spark Connect Python Connector: Diese Python Bibliothek vereinfacht die Verwendung von Spark Connect mit Managed Service for Apache Spark. Sie übernimmt die Authentifizierung und Endpunktkonfiguration und erleichtert so die Verbindung Ihrer lokalen Python-Umgebung, z. B. eines Notebooks oder einer IDE, mit einem Remote-Cluster von Managed Service for Apache Spark für die interaktive Entwicklung.

Das Containermodell

Managed Service for Apache Spark in 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 bei virtuellen Managed Service for Apache Spark-Clustern keine separaten Master- und Worker-VMs bereitgestellt. Stattdessen werden Knotenpools in einem GKE-Cluster bereitgestellt. Managed Service for Apache Spark in 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 GKE verwaltet.