Damit Sie Dataproc optimal nutzen können, ist es hilfreich, die grundlegenden Bausteine zu verstehen. In diesem Leitfaden werden die wichtigsten Konzepte und Funktionen von Dataproc sowie die Vorteile dieser Funktionen erläutert.
Das clusterbasierte Modell
Dies ist die standardmäßige, infrastrukturorientierte Verwendung von Dataproc. Sie erhalten die vollständige Kontrolle über einen dedizierten Satz virtueller 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 die Clustergröße, die Maschinentypen und die Konfiguration.
- Jobs: Ein Job ist eine bestimmte Aufgabe, z. B. ein PySpark-Script oder eine Hadoop-Abfrage. Anstatt einen Job direkt auf einem Cluster auszuführen, senden Sie den Job an den Dataproc-Dienst, 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. Damit können Abhängigkeiten zwischen Jobs definiert werden, z. B. um einen Machine-Learning-Job erst auszuführen, nachdem ein Job zur Datenbereinigung erfolgreich abgeschlossen wurde. Der Workflow kann auf einem vorhandenen Cluster oder auf 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 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 zu einem Cluster hinzuzufügen oder daraus zu entfernen. So können Sie die Clusterkosten und -leistung dynamisch optimieren.
Das serverlose Modell
Serverless for Apache Spark ist das moderne, automatisierte Ausführungsmodell von Dataproc. Sie können Jobs ausführen, ohne die zugrunde liegende Infrastruktur bereitstellen, verwalten oder skalieren zu müssen. Serverless for Apache Spark übernimmt die Details für Sie.
- Batches: Ein Batch (auch Batcharbeitslast genannt) ist das serverlose Äquivalent eines Dataproc-Jobs. Sie senden Ihren Code, z. B. einen Spark-Job, an den Dienst. Bei Serverless for Apache Spark werden die erforderlichen Ressourcen bei Bedarf bereitgestellt, der Job wird ausgeführt und die Ressourcen werden dann wieder abgebaut. Sie müssen keine Cluster- oder Jobressourcen erstellen oder verwalten. 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 Notebook-Ressourcen 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-Attribute und Bibliotheksabhängigkeiten. Sie verwenden die Vorlage, um interaktive Sitzungsumgebungen für die Entwicklung zu erstellen, in der Regel in einem Jupyter-Notebook.
Metastore-Dienste
Dataproc bietet verwaltete Dienste für die Verarbeitung von Metadaten, also Daten über Ihre Daten.
- Metastore: Ein Metastore ist ein zentraler Katalog für Datenschemas, z. B. Tabellen- und Spaltennamen sowie Datentypen. Mit einem Metastore können verschiedene Dienste, Cluster und Jobs die Struktur Ihrer Daten nachvollziehen. In der Regel wird der Katalog in Cloud Storage gespeichert.
- Föderation: Die Metadatenföderation ist eine erweiterte Funktion, mit der Sie auf Daten aus mehreren Metastores zugreifen und diese abfragen können, als würden Sie auf einen einzelnen, einheitlichen Metastore zugreifen.
Notebook- und Entwicklungsumgebungen
Dataproc-Notebooks und ‑IDEs sind mit integrierten Entwicklungsumgebungen verknüpft, in denen Sie Code schreiben und ausführen können.
- BigQuery Studio und Workbench: Dies sind einheitliche Analyse- und Notebook-Umgebungen. Damit können Sie Code (z. B. in einem Jupyter-Notebook) schreiben und einen Dataproc-Cluster oder eine serverlose Sitzung als leistungsstarke Backend-Engine verwenden, um Ihren Code für große Datasets auszuführen.
- Dataproc JupyterLab-Plug-in: Diese offizielle JupyterLab-Erweiterung dient als Steuerfeld für Dataproc in Ihrer Notebook-Umgebung. Sie können Cluster durchsuchen, erstellen und verwalten sowie Jobs einreichen, ohne die Jupyter-Oberfläche zu verlassen. Weitere Informationen
- Dataproc Spark Connect Python-Connector: Diese Python-Bibliothek vereinfacht die Verwendung von Spark Connect mit Dataproc. Sie übernimmt die Authentifizierung und Endpunktkonfiguration und vereinfacht so die Verbindung Ihrer lokalen Python-Umgebung, z. B. eines Notebooks oder einer IDE, mit einem Remote-Dataproc-Cluster für die interaktive Entwicklung erheblich. Weitere Informationen
Anpassung der Umgebung
Dataproc bietet Tools und Komponenten, mit denen Sie Ihre Umgebung an Ihre spezifischen Anforderungen anpassen können. Der Bereich „Dienstprogramme“ in der Google Cloud Konsole enthält hilfreiche Tools zum Anpassen Ihrer Dataproc-Umgebung.