Hier erfahren Sie, wie Sie mit Dataproc Serverless for Spark Interactive-Sitzungen Code in Jupyter-Notebooks schreiben und ausführen können.
Einschränkungen des Vorschaurelease
- Spark-Jobs werden mit der Identität des Dienstkontos ausgeführt, nicht mit der Identität des sendenden Nutzers.
- Abrechnungsmesswerte werden nicht in Stackdriver protokolliert (Dataproc für Spark Serverless Interactive ist während der Vorschau kostenlos).
- GPUs werden noch nicht unterstützt.
- Sitzungen werden unabhängig von der Attributeinstellung
max session time
in der Laufzeitvorlage nach 24 Stunden beendet. Diese Einschränkung wird für die GA-Version aufgehoben.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Dataproc API.
- 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.
-
Enable the Dataproc API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Serverlose interaktive Dataproc for Spark-Sitzung erstellen
Sie öffnen Jupyter-Notebooks in Dataproc Serverless für interaktive Spark-Sitzungen. Während des Release von Dataproc Serverless Interactive Preview können Sie eine Sitzung auf zwei Arten erstellen:
Mit dem Dataproc JupyterLab-Plug-in können Sie Vorlagen erstellen, mit denen Nutzer Sitzungen basierend auf Vorlageneinstellungen starten können.
Verwenden Sie Vertex AI Workbench, um eine von Google verwaltete Sitzung zu erstellen.
JupyterLab-Plug-in
In den folgenden Abschnitten wird gezeigt, wie Sie mit dem Dataproc JupyterLab-Plug-in eine Nutzerverwaltungssitzung von Dataproc Serverless for Spark for Spark erstellen.
Gerät einrichten
Sie können diese Kurzanleitung auf einem Computer einrichten und ausführen, der Zugriff auf Google-Dienste hat, z. B. Ihren lokalen Computer oder eine Compute Engine-VM-Instanz.
Prüfen Sie, ob
Python 3.8+
auf Ihrem Computer installiert ist. Sie können Python vonpython.or/downloads
herunterladen und installieren.Prüfen Sie die Installation von Python 3.8 oder höher.
python3 --version
Installiere [
JupyterLab 3.6.3+
] und auf deinem Computer.pip3 install --upgrade jupyterlab
Prüfen Sie die Installation von JupyterLab 3.6.3 oder höher.
pip3 show jupyterlab
Dataproc JupyterLab-Plug-in installieren
pip3 install dataproc-jupyter-plugin
Wenn Ihre JupyterLab-Version älter als
4.0.0
ist, aktivieren Sie die Plug-in-Erweiterung.jupyter server extension enable dataproc_jupyter_plugin
-
jupyter lab
Die Jupyter-Launcher-Seite wird in Ihrem Browser geöffnet. Sie enthält den Abschnitt Dataproc – Jobs und Sitzungen. Wenn Sie Zugriff auf serverlose Dataproc-Notebooks oder Dataproc-Cluster mit der in Ihrem Projekt ausgeführten optionalen Jupyter-Komponente haben, kann sie auch die Abschnitte Dataproc Serverless Notebooks und Dataproc Cluster Notebooks enthalten.
Standardmäßig wird die interaktive Dataproc Serverless for Spark-Sitzung in dem Projekt und der Region ausgeführt, die Sie bei der Ausführung von
gcloud init
unter Vorbereitung festgelegt haben. Sie können die Projekt- und Regionseinstellungen für Ihre Sitzungen auf der JupyterLab-Seite Einstellungen > Dataproc-Einstellungen ändern.
Dataproc Serverless-Laufzeitvorlage erstellen
Dataproc Serverless-Laufzeitvorlagen (auch session
-Vorlagen genannt) enthalten Konfigurationseinstellungen zum Ausführen von Spark-Code in einer Sitzung. Sie können Laufzeitvorlagen mit JupyterLab oder der gcloud CLI erstellen und verwalten.
JupyterLab
Klicken Sie auf der JupyterLab Launcher-Seite im Bereich Dataproc Cluster Notebooks auf die Karte
New runtime template
.Füllen Sie das Formular Laufzeitvorlage aus.
Geben Sie einen Anzeigenamen und eine Beschreibung an und bestätigen Sie dann die anderen Einstellungen.
Hinweise:
Netzwerkkonfiguration: Für das Subnetzwerk muss privater Google-Zugriff aktiviert sein und die Subnetzkommunikation an allen Ports zulassen (siehe Dataproc Serverless für Spark-Netzwerkkonfiguration). Wenn das Subnetz des Netzwerks
default
für die Region, die Sie bei der Ausführung vongcloud init
unter Vorbereitung konfiguriert haben, nicht für den privater Google-Zugriff aktiviert ist, müssen Sie es für den privaten Google-Zugriff aktivieren oder ein anderes Netzwerk mit einem regionalen Subnetzwerk auswählen, für das der privater Google-Zugriff aktiviert ist. Sie können die Region, die Dataproc Serverless verwendet, auf der JupyterLab-Seite Einstellungen > Dataproc-Einstellungen ändern.Metastore: Sie können die Felder in diesem Abschnitt verwenden, um einen verfügbaren Dataproc Metastore-Dienst für Ihre Sitzung auszuwählen.
Maximale Inaktivitätszeit: Maximale Inaktivitätszeit eines Notebooks, bevor die Sitzung automatisch beendet wird. Zulässiger Bereich: 10 Minuten bis 336 Stunden (14 Tage).
Maximale Sitzungsdauer:Maximale Lebensdauer einer Sitzung, bevor die Sitzung automatisch beendet wird. Zulässiger Bereich: 10 Minuten bis 336 Stunden (14 Tage).
PHS: Sie können einen verfügbaren nichtflüchtigen Spark-Verlaufsserver auswählen, um während und nach der Sitzung auf Sitzungslogs zuzugreifen.
Spark-Attribute: Klicken Sie für jedes Attribut, das für Ihre serverlosen Spark-Sitzungen festgelegt werden soll, auf Attribut hinzufügen. Eine Erläuterung der unterstützten und nicht unterstützten Spark-Attribute finden Sie unter Netzwerkkonfiguration von Dataproc Serverless for Spark.
Labels:Klicken Sie für jedes Label auf Label hinzufügen, um es für Ihre serverlosen Spark-Sitzungen festzulegen.
Auf der Seite Dataproc-Einstellungen werden Ihre Laufzeitvorlagen aufgelistet. Sie können eine Vorlage aus der Liste über das Menü Aktion für jede aufgelistete Vorlage löschen.
Klicken Sie auf Speichern.
Öffnen Sie die Launcher-Seite und laden Sie sie neu, um die gespeicherte Notebook-Vorlagenkarte im JupyterLab-Launcher zu sehen.
gcloud
Erstellen Sie eine YAML-Datei mit Ihrer Laufzeitvorlagenkonfiguration.
Beispiel:
environmentConfig: executionConfig: networkUri: default jupyterSession: kernel: PYTHON displayName: Team A labels: purpose: testing description: Team A Development Environment
Wenn das Subnetz des Netzwerks
default
für die Region, die Sie bei der Ausführung vongcloud init
unter Vorbereitung konfiguriert haben, nicht für den privater Google-Zugriff aktiviert ist, müssen Sie es für den privaten Google-Zugriff aktivieren oder ein anderes Netzwerk mit einem regionalen Subnetzwerk auswählen, für das der privater Google-Zugriff aktiviert ist. Sie können die Region, die Dataproc Serverless verwendet, auf der JupyterLab-Seite Einstellungen > Dataproc-Einstellungen ändern.Führen Sie den folgenden gcloud beta dataproc session-template import-Befehl lokal oder in Cloud Shell aus, um eine Sitzungsvorlage (Laufzeit) aus einer YAML-Datei zu erstellen.
gcloud beta dataproc session-templates import TEMPLATE_ID \ --source=YAML_FILE \ --project=PROJECT_ID \ --location=REGION
- Befehle zum Beschreiben, Auflisten, Exportieren und Löschen von Sitzungsvorlagen finden Sie unter gcloud beta dataproc session-template.
Notebook öffnen
Im Abschnitt Dataproc Serverless Notebooks auf der JupyterLab Launcher-Seite werden Notebook-Vorlagenkarten angezeigt, die Laufzeit-Kernels zugeordnet sind, die in Ihren serverlosen Laufzeitvorlagen angegeben sind.
Klicken Sie auf eine Laufzeit-Kernelkarte, um eine Sitzung zu erstellen und ein Notebook zu öffnen. Wenn die Sitzungserstellung abgeschlossen ist und der Kernel verwendet werden kann, ändert sich der Kernelstatus von
Unknown
inIdle
und ein Notebook wird geöffnet.Klicken Sie zum Aufrufen des Sitzungsstatus auf der JupyterLab-Launcher-Seite im Abschnitt Dataproc-Jobs und -Sitzung auf die Karte Serverlos und dann auf den Tab Sitzungen. Der Status der Sitzung ändert sich von
Creating
inActive
, wenn die Sitzung vollständig bereitgestellt wurde und zur Ausführung Ihres Codes bereit ist.Code im Notebook schreiben und testen
Kopieren Sie den folgenden PySpark-
Pi estimation
-Code und fügen Sie ihn in die PySpark-Notebook-Zelle ein. Drücken Sie dann Umschalttaste + Eingabetaste, um den Code auszuführen.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. Klicken Sie dazu auf dem Tab Kernel auf Kernel herunterfahren.
- Wenn Sie die Sitzung nicht beenden, beendet Dataproc sie, wenn der Timer für die Inaktivität abläuft. Sie können die Leerlaufzeit in der Laufzeitvorlagenkonfiguration konfigurieren. Die Standardinaktivitätszeit für Sitzungen beträgt eine Stunde.
Vertex AI
In diesem Abschnitt erfahren Sie, wie Sie mit Vertex AI Workbench eine verwaltete Sitzung erstellen und dann ein PySpark-Notebook in der Sitzung öffnen und verwenden.
- Rufen Sie in der Google Cloud Console die Seite Vertex AI Workbench auf. Klicken Sie auf Neues Notebook, um ein neues verwaltetes Notebook zu öffnen.
- Füllen Sie die Felder auf der Seite Verwaltetes Notebook erstellen aus:
- Notebook-Name:Geben Sie einen Namen für das Notebook ein.
- Region:Wählen Sie eine Region aus der Liste aus. Verwaltete Notebooks von Vertex AI sind in den aufgeführten Regionen verfügbar.
- Berechtigung:Wählen Sie
Single user only
aus. - Nutzer-E-Mail:Geben Sie Ihre E-Mail-Adresse ein.
- Klicken Sie auf Erstellen, um das Notebook zu erstellen und zur Seite Vertex AI Workbench zurückzukehren.
- Ihr Notebook wird auf der Seite Vertex AI Workbench aufgelistet. Klicken Sie nach dem Aktivieren dieses Links in der Zeile Ihres Notebooks auf JupyterLab öffnen.
- Klicken Sie im angezeigten Dialogfeld Verwaltetes Notebook authentifizieren auf Authentifizieren, damit Vertex AI Workbench auf Ihre Daten zugreifen und Ihr verwaltetes Notebook authentifizieren kann. Wählen Sie dann Ihr Konto aus und gewähren Sie den Zugriff zum Öffnen von JupyterLab.
- Wählen Sie auf dem Tab Launcher Ihres Notebooks die Option Serverloses Spark aus, um eine Sitzung zu erstellen.
- Füllen Sie die Seite Serverlose Spark-Sitzung erstellen aus:
- Sitzungsname:Geben Sie einen Namen für Ihre Sitzung ein. Jede Sitzung unterstützt ein Jupyter-Notebook.
- Sprache:Wählen Sie PySpark aus.
- Ausführungskonfiguration:Lassen Sie das Dienstkontoelement leer, um das Compute Engine-Standarddienstkonto zu verwenden.
- Netzwerkkonfiguration:
- Klicken Sie auf Netzwerke in diesem Projekt. Das VPC-Subnetzwerk, das eine Sitzung ausführt, muss die unter Dataproc Serverless for Spark-Netzwerkkonfiguration aufgeführten Anforderungen erfüllen.
- Wählen Sie ein Netzwerk und ein Subnetzwerk innerhalb Ihres Projekts aus der Liste aus. In der Liste werden Subnetzwerke im ausgewählten Netzwerk angezeigt, die für den privaten Google-Zugriff aktiviert sind.
- Klicken Sie auf Senden:, um die Sitzung zu starten. Das Aktivitätsprotokoll zeigt den Fortschritt der Sitzungsinitialisierung an. Sie können den Status Ihrer Sitzung auch über die Dataproc-Seite Sitzungen in der Google Cloud Console überwachen.
- Nach Abschluss der Sitzungsinitialisierung wird in JupyterLab der Notebook-Tab Untitled.ipynb geöffnet. Kopieren Sie den folgenden PySpark-
Pi estimation
-Code und fügen Sie ihn in die PySpark-Notebook-Zelle ein. Drücken Sie dann Umschalttaste + Eingabetaste, um den Code auszuführen.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))
- Schließen Sie den Notebook-Tab Untitled.ipynb. Dataproc Serverless versucht, die Sitzung zu erkennen und zu beenden, nachdem Sie ein Notebook in JupyterLab geschlossen haben.