Einschränkungen und Überlegungen zu Dataproc Serverless
- Spark-Jobs werden mit der Dienstkontoidentität ausgeführt, nicht Identität des sendenden Nutzers.
Hinweise
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Dataproc API aktivieren.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Dataproc API aktivieren.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Dataproc JupyterLab-Plug-in installieren
Sie können das Dataproc JupyterLab-Plug-in auf einer Maschine oder VM installieren und verwenden, die Zugriff auf Google-Dienste wie Ihrem lokalen Computer oder einem Compute Engine-VM-Instanz
So installieren Sie das Plug-in:
Python 3.8+
muss auf Ihrem Computer installiert sein. Du kannst Folgendes herunterladen: und installieren Sie Pythonpython.org/downloads
Überprüfen Sie die Installation von Python 3.8+.
python3 --version
Installieren Sie
JupyterLab 3.6.3+
auf Ihrem Computer.pip3 install --upgrade jupyterlab
Prüfen Sie die Installation von JupyterLab 3.6.3 oder höher.
pip3 show jupyterlab
Installieren Sie das Dataproc JupyterLab-Plug-in.
pip3 install dataproc-jupyter-plugin
Aktivieren Sie das Plug-in, wenn Ihre JupyterLab-Version älter als
4.0.0
ist .jupyter server extension enable dataproc_jupyter_plugin
-
jupyter lab
Die JupyterLab-Launcher-Seite wird in Ihrem Browser geöffnet. Enthält einen Abschnitt Dataproc-Jobs und -Sitzungen Er kann auch Folgendes enthalten: Abschnitte Dataproc Serverless Notebooks und Dataproc Cluster Notebooks wenn Sie Zugriff auf serverlose Dataproc-Notebooks oder Dataproc-Cluster haben mit der optionalen Jupyter-Komponente die in Ihrem Projekt ausgeführt werden.
Standardmäßig wird die Dataproc Serverless for Spark Interactive-Sitzung ausgeführt in dem Projekt und der Region, die Sie bei der Ausführung von
gcloud init
in Hinweis: Sie können das Projekt und Regionseinstellungen für Ihre Sitzungen aus dem JupyterLab-Einstellungen > Seite mit Dataproc-Einstellungen
Serverlose Dataproc-Laufzeitvorlage erstellen
Serverlose Dataproc-Laufzeitvorlagen (auch session
-Vorlagen genannt)
Konfigurationseinstellungen zum Ausführen von Spark-Code in einer Sitzung enthalten. Sie können
Laufzeitvorlagen mit Jupyterlab oder der gcloud CLI erstellen und verwalten können.
JupyterLab
Klicken Sie unter Dataproc Serverless Notebooks auf die Karte
New runtime template
. auf der JupyterLab-Launcher-Seite.Füllen Sie das Formular Laufzeitvorlage aus.
Geben Sie einen Anzeigenamen und eine Beschreibung an und geben Sie dann die entsprechenden Werte ein oder bestätigen Sie sie. die anderen Einstellungen.
Hinweise:
Network Configuration (Netzwerkkonfiguration): Das subnetwork muss Der private Google-Zugriff muss aktiviert sein. und muss die Subnetzkommunikation an allen Ports zulassen (siehe Dataproc Serverless for Spark-Netzwerkkonfiguration.
Wenn das Subnetz des Netzwerks
default
für die Region, die Sie beim Du hast unter Vorbereitunggcloud init
gelaufen ist nicht für den privater Google-Zugriff aktiviert:- den privaten Google-Zugriff aktivieren oder
- Wählen Sie ein anderes Netzwerk mit einem regionalen Subnetzwerk aus, für das der privater Google-Zugriff aktiviert ist. Sie können die Region ändern, die von Dataproc Serverless verwendet wird in JupyterLab unter Einstellungen > Seite mit Dataproc-Einstellungen
Metastore: Für die Verwendung eines Dataproc Metastore-Dienst in Ihren Sitzungen die Metastore-Projekt-ID, die Region und den Dienst aus.
Max. Inaktivitätszeit: Die maximale Inaktivitätszeit des Notebooks vor der Sitzung gekündigt. Zulässiger Bereich: 10 Minuten bis 336 Stunden (14 Tage).
Maximale Sitzungsdauer: Die maximale Lebensdauer einer Sitzung vor folgender Sitzung: gekündigt. Zulässiger Bereich: 10 Minuten bis 336 Stunden (14 Tage).
PHS: Du kannst ein verfügbares Element auswählen. Persistenter Spark-Verlaufsserver damit Sie während und nach Sitzungen auf die Protokolle zugreifen können.
.Spark-Properties:Klicken Sie für jede Property, die Sie festlegen möchten, auf Property hinzufügen. für Ihre serverlosen Spark-Sitzungen. Weitere Informationen finden Sie unter Spark-Properties für eine Liste unterstützter und nicht unterstützter Spark-Attribute, einschließlich Laufzeit-, Ressourcen- und Autoscaling-Attribute von Spark.
Labels:Klicken Sie für jedes festzulegende Label auf Label hinzufügen. in Ihren serverlosen Spark-Sitzungen.
Rufen Sie Ihre Laufzeitvorlagen über Einstellungen > Dataproc-Einstellungen Seite.
- Über das Menü Aktion können Sie eine Vorlage löschen.
Klicken Sie auf Speichern.
Öffnen und aktualisieren Sie die JupyterLab-Launcher-Seite, um die gespeicherte Notebook-Vorlage anzusehen JupyterLab-Launcher-Seite.
gcloud
Erstellen Sie eine YAML-Datei mit der Konfiguration Ihrer Laufzeitvorlage.
Einfache YAML-Datei
environmentConfig: executionConfig: networkUri: default jupyterSession: kernel: PYTHON displayName: Team A labels: purpose: testing description: Team A Development Environment
Komplexe YAML
environmentConfig: executionConfig: serviceAccount: sa1 # Choose either networkUri or subnetworkUri networkUri: default subnetworkUri: subnet networkTags: - tag1 kmsKey: key1 idleTtl: 3600s ttl: 14400s stagingBucket: staging-bucket peripheralsConfig: metastoreService: projects/my-project-id/locations/us-central1/services/my-metastore-id sparkHistoryServerConfig: dataprocCluster: projects/my-project-id/regions/us-central1/clusters/my-cluster-id jupyterSession: kernel: PYTHON displayName: Team A labels: purpose: testing runtimeConfig: version: "1.1" containerImage: gcr.io/my-project-id/my-image:1.0.1 properties: "p1": "v1" description: Team A Development Environment
Wenn das Subnetz des Netzwerks
default
für die Region, die Sie beim Du hast unter Vorbereitunggcloud init
gelaufen ist für den privaten Google-Zugriff nicht aktiviert:- den privaten Google-Zugriff aktivieren oder
- Wählen Sie ein anderes Netzwerk mit einem regionalen Subnetzwerk aus, für das der privater Google-Zugriff aktiviert ist. Sie können die Region ändern, die von Dataproc Serverless verwendet wird in JupyterLab unter Einstellungen > Seite mit Dataproc-Einstellungen
Erstellen Sie mit folgendem Befehl eine Sitzungsvorlage (Laufzeit) aus Ihrer YAML-Datei: gcloud beta dataproc session-templates import Befehl lokal oder in Cloud Shell ausführen:
gcloud beta dataproc session-templates import TEMPLATE_ID \ --source=YAML_FILE \ --project=PROJECT_ID \ --location=REGION
- Siehe gcloud beta dataproc session-templates für Befehle zum Beschreiben, Auflisten, Exportieren und Löschen von Sitzungsvorlagen.
Notebooks starten und verwalten
Führen Sie nach der Installation des Dataproc JupyterLab-Plug-ins folgende Schritte aus: Wenn Sie auf der JupyterLab-Seite Launcher auf Vorlagenkarten klicken, haben Sie folgende Möglichkeiten:
Jupyter-Notebook in Dataproc Serverless starten
Abschnitt Dataproc Serverless Notebooks Auf der Seite „JupyterLab Launcher“ wird die Notebook-Vorlage angezeigt Karten, die Dataproc Serverless-Laufzeitvorlagen zugeordnet sind (siehe Erstellen Sie eine serverlose Dataproc-Laufzeitvorlage.
![](https://cloud.google.com/static/dataproc-serverless/docs/images/runtime-kernel-card.png?authuser=19&hl=de)
Klicken Sie auf eine Karte, um eine serverlose Dataproc-Sitzung zu erstellen, und ein Notebook zu starten. Wenn die Sitzungserstellung abgeschlossen ist und das Notebook der Kernel einsatzbereit ist, ändert sich der Kernel-Status von
Unknown
bisIdle
.Notebook-Code schreiben und testen.
Kopieren Sie den folgenden PySpark-
Pi estimation
-Code und fügen Sie ihn ein in der PySpark-Notebook-Zelle ein und drücken Sie Umschalttaste + Eingabetaste, um führen Sie den Code aus.import random def inside(p): x, y = random.random(), random.random() return x*x + y*y < 1 count = sc.parallelize(range(0, 10000)) .filter(inside).count() print("Pi is roughly %f" % (4.0 * count / 10000))
Notebook-Ergebnis:
Nachdem Sie ein Notebook erstellt und verwendet haben, können Sie die Notebook-Sitzung beenden indem Sie auf dem Tab Kernel auf Kernel herunterfahren klicken.
- Wenn Sie die Sitzung nicht beenden, wird sie von Dataproc beendet. Der Timer für die Inaktivitätszeit der Sitzung läuft ab. Sie können die Sitzung konfigurieren Inaktivitätszeit im Konfiguration der Laufzeitvorlage. Die standardmäßige Inaktivitätszeit für Sitzungen beträgt eine Stunde.
Notebook in einem Dataproc in Compute Engine-Cluster starten
Wenn Sie einen Jupyter-Cluster in Compute Engine erstellt haben, Die JupyterLab-Seite Launcher enthält ein Bereich Dataproc Cluster Notebook mit vorinstallierten Kernel-Karten.
![](https://cloud.google.com/static/dataproc-serverless/docs/images/runtime-kernel-cards-cluster.png?authuser=19&hl=de)
So starten Sie ein Jupyter-Notebook in Dataproc auf Compute Engine-Cluster:
Klicken Sie auf eine Karte im Abschnitt Dataproc-Cluster-Notebook.
Wenn sich der Kernel-Status von
Unknown
zuIdle
ändert, haben Sie folgende Möglichkeiten: Notebook-Code schreiben und ausführen.Nachdem Sie ein Notebook erstellt und verwendet haben, können Sie die Notebook-Sitzung beenden indem Sie auf dem Tab Kernel auf Kernel herunterfahren klicken.
Eingabe- und Ausgabedateien in Cloud Storage verwalten
Die Analyse explorativer Daten und das Erstellen von ML-Modellen umfassen oft dateibasierten Ein- und Ausgaben. Dataproc Serverless greift auf diese Dateien zu in Cloud Storage.
Klicken Sie auf den Cloud Storage-Browser, um auf den Cloud Storage-Browser zuzugreifen in der Seitenleiste des JupyterLab-Launchers und doppelklicken Sie dann auf ein um seinen Inhalt anzuzeigen.
Sie können auf Jupyter-unterstützte Dateitypen klicken, um sie zu öffnen und zu bearbeiten. Wenn Sie Änderungen an den Dateien speichern, werden diese in Cloud Storage geschrieben.
Um einen neuen Cloud Storage-Ordner zu erstellen, klicken Sie auf das Symbol für einen neuen Ordner und geben Sie dann den Namen des Ordners ein.
Wenn Sie Dateien in einen Cloud Storage-Bucket oder Ordner hochladen möchten, klicken Sie auf das Upload-Symbol und wählen Sie die hochzuladenden Dateien aus.
Spark-Notebook-Code entwickeln
Führen Sie nach der Installation des Dataproc JupyterLab-Plug-ins folgende Schritte aus: Sie können Jupyter Notebooks über die Launcher-Seite von JupyterLab starten, um Anwendungscode.
PySpark- und Python-Codeentwicklung
Dataproc Serverless und Dataproc in Compute Engine Cluster unterstützen PySpark-Kernel. Dataproc in Compute Engine unterstützt auch Python-Kernel.
Klicken Sie auf eine PySpark-Karte im Dataproc Serverless Notebooks oder Dataproc Cluster Notebook auf der JupyterLab-Seite Launcher, um ein PySpark-Notebook zu öffnen.
Klicken Sie auf eine Python-Kernel-Karte im Abschnitt Dataproc-Cluster-Notebook auf der JupyterLab-Seite Launcher, um ein Python-Notebook zu öffnen.
SQL-Codeentwicklung
Klicken Sie auf die PySpark-Kernelkarte in der Dataproc Serverless Notebooks oder Dataproc Cluster Notebook Bereich der JupyterLab-Seite Launcher um ein PySpark-Notebook zu öffnen und SQL-Code zu schreiben und auszuführen.
Spark SQL-Magie:Da der PySpark-Kernel, der
Dataproc Serverless Notebooks
ist mit Spark SQL-Magie vorinstalliert, anstatt spark.sql('SQL STATEMENT').show()
zu verwenden
um Ihre SQL-Anweisung zu verpacken,
%%sparksql magic
oben in eine Zelle ein und geben Sie dann die SQL-Anweisung in die Zelle ein.
BigQuery-SQL:Mit dem BigQuery Spark-Connector können Daten in Ihrem Notebook-Code geladen werden. aus BigQuery-Tabellen, führen Sie Analysen in Spark durch und schreiben Sie dann die Ergebnisse. in eine BigQuery-Tabelle.
![](https://cloud.google.com/static/dataproc-serverless/docs/images/bq-sql-code.png?authuser=19&hl=de)
Die Dataproc Serverless 2.1-Laufzeit enthält die BigQuery Spark-Connector. Wenn Sie Dataproc Serverless 2.0 verwenden oder einer früheren Laufzeit zum Starten von Dataproc Serverless Notebooks, Sie können den BigQuery-Connector „Spark“ installieren, indem Sie die folgende Spark-Property hinzufügen. in Ihre Dataproc Serverless-Laufzeitvorlage:
spark.jars: gs://spark-lib/bigquery/spark-bigquery-with-dependencies_2.12-0.25.2.jar
Scala-Codeentwicklung
Dataproc in Compute Engine-Clustern, die mit Image erstellt wurden Version 2.0 und höher, 2.1 und höher sowie Apache Toree, einen Scala-Kernel für die Jupyter Notebook-Plattform, der interaktiven Zugriff bietet mit Spark.
Klicken Sie im Menü Dataproc-Cluster-Notebook Abschnitt auf der Seite Launcher von JupyterLab, um ein Notebook für Scala zu öffnen Codeentwicklung.
Metadaten-Explorer
Wenn eine Dataproc Metastore (DPMS)-Instanz ist an eine Dataproc Serverless-Laufzeitvorlage angehängt oder einem Dataproc in Compute Engine-Cluster, wird im JupyterLab Metadata Explorer angezeigt, wenn ein Notebook geöffnet wird. DPMS ist ein und horizontal skalierbaren Hive Metastore-Dienst (HMS) auf Google Cloud
So rufen Sie HMS-Metadaten im Metadaten-Explorer auf:
Aktivieren Sie die Data Catalog API in Ihrem Projekt.
Data Catalog-Synchronisierung aktivieren in Ihrem DPMS-Dienst.
Geben Sie eine DPMS-Instanz an, wenn Sie Erstellen Sie die Dataproc Serverless-Laufzeitvorlage oder erstellen Sie den Dataproc in Compute Engine-Cluster.
Klicken Sie zum Öffnen des JupyterLab Metadata Explorer auf das entsprechende Symbol in der Seitenleiste.
![](https://cloud.google.com/static/dataproc-serverless/docs/images/metadata-explorer.png?authuser=19&hl=de)
Sie können im Metadaten-Explorer nach einer Datenbank, Tabelle oder Spalte suchen. Klicken Sie auf den Namen einer Datenbank, einer Tabelle oder einer Spalte, um die zugehörigen Metadaten aufzurufen.
![](https://cloud.google.com/static/dataproc-serverless/docs/images/metadata-details.png?authuser=19&hl=de)
Code bereitstellen
Führen Sie nach der Installation des Dataproc JupyterLab-Plug-ins folgende Schritte aus: Mit JupyterLab können Sie:
Notebook-Code in der serverlosen Dataproc-Infrastruktur ausführen
Senden Sie Batchjobs an die serverlose Dataproc-Infrastruktur oder an Ihre Dataproc in Compute Engine-Cluster
Notebook-Code in Dataproc Serverless ausführen
Klicken Sie auf das Symbol Ausführen oder drücken Sie die Umschalttaste + Eingabetaste, um Code auszuführen. in einer Notebook-Zelle gespeichert.
Verwenden Sie das Menü Ausführen, um Code in einer oder mehreren Notebook-Zellen auszuführen.
Batchjob an Dataproc Serverless senden
Klicken Sie im Abschnitt Dataproc-Jobs und -Sitzungen auf die Karte Serverlos. auf der JupyterLab-Launcher-Seite.
Klicken Sie auf den Tab Batch, dann auf Create Batch (Batch erstellen) und füllen Sie das Feld Batch Info-Felder.
Klicken Sie auf Senden, um den Job zu senden.
Batchjob an Dataproc in Compute Engine-Cluster senden
Klicken Sie im Abschnitt Dataproc-Jobs und -Sitzungen auf die Karte Cluster. auf der JupyterLab-Launcher-Seite.
Klicken Sie auf den Tab Jobs und dann auf Job senden.
Wählen Sie einen Cluster aus und füllen Sie dann die Felder unter Job aus.
Klicken Sie auf Senden, um den Job zu senden.
Ressourcen ansehen und verwalten
Führen Sie nach der Installation des Dataproc JupyterLab-Plug-ins folgende Schritte aus: können Sie Dataproc Serverless und Dataproc in Compute Engine im Abschnitt Dataproc-Jobs und -Sitzungen auf der JupyterLab-Seite Launcher.
Klicken Sie auf den Abschnitt Dataproc-Jobs und -Sitzungen, um die Cluster und Serverlose Karten:
So rufen Sie serverlose Dataproc-Sitzungen auf und verwalten sie:
- Klicken Sie auf die Karte Serverlos.
- Klicken Sie auf den Tab Sitzungen und dann auf eine Sitzungs-ID, um den Bereich Sitzungsdetails zu öffnen. Seite zum Aufrufen von Sitzungseigenschaften, zum Aufrufen des Google Cloud-Protokolls im Log-Explorer, und eine Sitzung beenden. Hinweis: Es wird eine eindeutige serverlose Dataproc-Sitzung erstellt, um jede Serverloses Dataproc-Notebook.
So rufen Sie Dataproc Serverless-Batches auf und verwalten sie:
- Klicken Sie auf den Tab Batches (Batches), um die Liste der serverlosen Batches von Dataproc Serverless in der des aktuellen Projekts und der aktuellen Region. Klicken Sie auf eine Batch-ID, um die Batchdetails aufzurufen.
So zeigen Sie Dataproc in Compute Engine-Clustern an und verwalten sie:
- Klicken Sie auf die Karte Cluster. Der Tab Cluster ist zum Auflisten ausgewählt. aktive Dataproc in Compute Engine-Clustern das aktuelle Projekt und die aktuelle Region. Sie können auf die Symbole in der Spalte Aktionen klicken. um einen Cluster zu starten, zu stoppen oder neu zu starten. Klicken Sie auf einen Clusternamen. um Clusterdetails aufzurufen. Sie können auf die Symbole in der Spalte Aktionen klicken. um einen Job zu klonen, anzuhalten oder zu löschen.
So rufen Sie Dataproc in Compute Engine-Jobs auf und verwalten sie:
- Klicken Sie auf die Karte Jobs, um die Liste der Jobs im des aktuellen Projekts. Auf eine Job-ID klicken um die Jobdetails aufzurufen.