Optionale Jupyter-Komponente für Managed Service for Apache Spark

Mit der optionalen Jupyter-Komponente können Sie interaktive Notebooks zur Datenanalyse in einem Managed Service for Apache Spark-Cluster ausführen. Die Komponente bietet eine webbasierte Jupyter-Notebook-Umgebung für einzelne Nutzer, die die JupyterLab-Web-UI unterstützt.

Alternativen zu Notebooks für mehrere Nutzer

Wenn Sie Notebooks für mehrere Nutzer bereitstellen möchten, erstellen Sie eine Vertex AI Workbench-Instanz, die für Managed Service for Apache Spark aktiviert ist. Alternativ können Sie das Managed Service for Apache Spark JupyterLab-Plug-in auf einer VM installieren.

Konfiguration

Jupyter konfigurieren Jupyter kann durch Angabe von dataproc:jupyter-Clusterattributen konfiguriert werden. Um das Risiko einer Remote-Codeausführung über ungesicherte Notebook-Server-APIs zu verringern, ist die Standardeinstellung für die Clustereigenschaft dataproc:jupyter.listen.all.interfaces auf false festgelegt. Dadurch werden Verbindungen auf localhost (127.0.0.1) beschränkt, wenn das Component Gateway aktiviert ist. (Die Aktivierung des Component Gateway ist bei der Installation der Jupyter-Komponente erforderlich.)

Das Jupyter-Notebook bietet einen Python-Kernel zum Ausführen von Spark-Code und einen PySpark-Kernel. Notebooks werden standardmäßig im Managed Service for Apache Spark-Staging-Bucket in Cloud Storage gespeichert. Dieser Bucket wird vom Nutzer festgelegt oder beim Erstellen des Clusters automatisch generiert. Der Standort kann beim Erstellen des Clusters mit der Cluster-Property dataproc:jupyter.notebook.gcs.dir geändert werden.

Mit Datendateien arbeiten Sie können ein Jupyter-Notebook verwenden, um mit Datendateien zu arbeiten, die in Cloud Storage hochgeladen wurden. Da der Cloud Storage-Connector auf einem Managed Service for Apache Spark-Cluster vorinstalliert ist, können Sie die Dateien direkt in Ihrem Notebook referenzieren. Hier ist ein Beispiel für den Zugriff auf CSV-Dateien in Cloud Storage:

df = spark.read.csv("gs://bucket/path/file.csv")
df.show()

PySpark-Beispiele finden Sie unter Generische Lade- und Speicherfunktionen.

Jupyter installieren

Installieren Sie die Komponente, wenn Sie einen Managed Service for Apache Spark-Cluster erstellen. Für die Jupyter-Komponente muss das Komponenten-Gateway von Managed Service for Apache Spark aktiviert werden.

Google Cloud Console

  1. Öffnen Sie in der Google Cloud Console die Seite Cluster erstellen.
  2. Klicken Sie auf Zusätzliche Konfiguration, um den Bereich zu maximieren.
  3. Bearbeiten Sie Optionale Komponenten.
  4. Klicken Sie im daraufhin geöffneten Bereich das Kästchen für Jupyter Notebook an und klicken Sie dann auf Speichern.

gcloud-CLI

Wenn Sie einen Managed Service for Apache Spark-Cluster mit der Jupyter-Komponente erstellen möchten, verwenden Sie den Befehl gcloud dataproc clusters create cluster-name mit dem Flag --optional-components.

Beispiel für die neueste Standard-Bildversion

Im folgenden Beispiel wird die Jupyter-Komponente auf einem Cluster installiert, der die neueste Standard-Image-Version verwendet.

gcloud dataproc clusters create cluster-name \
    --optional-components=JUPYTER \
    --region=region \
    --enable-component-gateway \
    ... other flags

REST API

Die Jupyter-Komponente kann über die Dataproc API mit SoftwareConfig.Component als Teil einer clusters.create-Anfrage installiert werden.

Jupyter-UI und JupyterLab-UI öffnen

Klicken Sie auf die Google Cloud Console-Links für das Component Gateway, um das Jupyter-Notebook oder die JupyterLab-UI, die auf dem Clustermasterknoten ausgeführt wird, in Ihrem lokalen Browser zu öffnen.

Wählen Sie „GCS“ oder „Lokales Laufwerk“ aus, um an beiden Orten ein neues Jupyter-Notebook zu erstellen.

GPUs an Master- und Worker-Knoten anhängen

Sie können den Master- und Worker-Knoten Ihres Clusters GPUs hinzufügen, wenn Sie ein Jupyter-Notebook für folgende Aufgaben verwenden:

  1. Daten in Spark vorverarbeiten, dann einen DataFrame auf dem Master erfassen und TensorFlow ausführen
  2. Spark zur parallelen Orchestrierung von TensorFlow-Ausführungen verwenden
  3. Tensorflow-on-YARN ausführen
  4. Verwendung mit anderen Szenarien für maschinelles Lernen, die GPUs verwenden