Wichtige Dataproc-Konzepte

In diesem Dokument werden die wichtigsten Konzepte, grundlegenden Bausteine, Kern funktionen und Vorteile von Dataproc erläutert. Wenn Sie diese Grundlagen kennen, können Sie Dataproc effektiv für Ihre Datenverarbeitungsaufgaben nutzen.

Das clusterbasierte Modell

Dies ist die Standardmethode für die Nutzung von Dataproc, die sich auf die Infrastruktur konzentriert. Sie haben die vollständige Kontrolle über einen dedizierten Satz virtueller Maschinen für Ihre Daten verarbeitungsaufgaben.

  • 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, Maschinentypen und 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 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. 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 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 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, um die Clusterkosten und -leistung dynamisch zu optimieren.

Das serverlose Modell

Serverless for Apache Spark ist das moderne, automatisierte Dataproc-Modell. Sie können Jobs ausführen, ohne die zugrunde liegende Infrastruktur bereitstellen, verwalten oder skalieren zu müssen: Serverless for Apache Spark kümmert sich um die Details.

  • 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. Serverless 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. Der Dienst erledigt die Arbeit 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-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 fungiert als zentraler Katalog für Datenschemas, wie Tabellen- und Spaltennamen und Datentypen. Mit einem Metastore können verschiedene Dienste, Cluster und Jobs die Struktur Ihrer Daten verstehen. 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 sie 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 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 Dataproc Cluster oder eine serverlose Sitzung als leistungsstarke Back-End-Engine verwenden, um Ihren Code für große Datasets auszuführen.
  • Dataproc JupyterLab-Plug-in: Diese offizielle JupyterLab -Erweiterung fungiert als Steuerfeld für Dataproc 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. 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 erleichtert so die Verbindung Ihrer lokalen Python-Umgebung, z. B. eines Notebooks oder einer IDE, mit einem Remote-Dataproc-Cluster für die interaktive Entwicklung. Weitere Informationen

Anpassung der Umgebung

Dataproc bietet Tools und Komponenten zum Anpassen Ihrer Umgebung an bestimmte Anforderungen. Der Bereich „Dienstprogramme“ in der Google Cloud Console enthält hilfreiche Tools zum Anpassen Ihrer Dataproc-Umgebung.