Sie können zusätzliche Komponenten wie Jupyter installieren, wenn Sie einen Dataproc-Cluster mit der Funktion Optionale Komponenten erstellen. Auf dieser Seite wird die Jupyter-Komponente erläutert.
Die Jupyter-Komponente ist ein webbasiertes Einzelnutzer-Notebook für interaktive Datenanalysen und unterstützt die JupyterLab-Web-UI. Die Jupyter-Webbenutzeroberfläche ist über Port 8123
auf dem ersten Masterknoten des Clusters verfügbar.
Notebooks für mehrere Nutzer starten Sie können eine Dataproc-kompatible Vertex AI Workbench-Instanz erstellen oder das Dataproc JupyterLab-Plug-in auf einer VM installieren, um Notebooks für mehrere Nutzer bereitzustellen.
Jupyter konfigurieren Jupyter kann mit den Clusterattributen dataproc:jupyter
konfiguriert werden.
Um das Risiko der Remotecodeausführung über unsichere Notebookserver-APIs zu verringern, ist für die Clustereigenschaft dataproc:jupyter.listen.all.interfaces
die Standardeinstellung false
. Dadurch werden Verbindungen zu localhost (127.0.0.1)
eingeschränkt, wenn Component Gateway aktiviert ist. Die Aktivierung von Component Gateway ist bei der Installation der Jupyter-Komponente erforderlich.
Das Jupyter-Notebook verwendet einen Python-Kernel zur Ausführung von Spark-Code und einen PySpark-Kernel. Notebooks werden standardmäßig im Dataproc-Staging-Bucket in Cloud Storage gespeichert. Dieser Bucket wird vom Nutzer festgelegt oder bei der Clustererstellung automatisch generiert. Der Speicherort kann bei der Clustererstellung über das Clusterattribut dataproc:jupyter.notebook.gcs.dir
geändert werden.
Mit Datendateien arbeiten Mit einem Jupyter-Notebook können Sie mit Datendateien arbeiten, die in Cloud Storage hochgeladen wurden. Da der Cloud Storage-Connector auf einem Dataproc-Cluster vorinstalliert ist, können Sie direkt in Ihrem Notebook auf die Dateien verweisen. Hier ein Beispiel für den Zugriff auf CSV-Dateien in Cloud Storage:
df = spark.read.csv("gs://bucket/path/file.csv") df.show()
Beispiele für PySpark finden Sie unter Generische Laden/Speichern-Funktionen.
Jupyter installieren
Installieren Sie die Komponente, wenn Sie einen Dataproc-Cluster erstellen. Für die Jupyter-Komponente muss das Dataproc Component Gateway aktiviert sein.
Console
- Aktivieren Sie die Komponente.
- Öffnen Sie in der Google Cloud Console die Dataproc-Seite Cluster erstellen. Der Bereich Cluster einrichten ist ausgewählt.
- Im Bereich Komponenten:
- Wählen Sie unter Optionale Komponenten die Komponente Jupyter aus.
- Wählen Sie unter Component Gateway die Option Component Gateway aktivieren aus (siehe Component Gateway-URLs ansehen und aufrufen).
gcloud-CLI
Verwenden Sie zum Erstellen eines Dataproc-Clusters, der die Jupyter-Komponente enthält, den Befehl gcloud dataproc clusters create cluster-name mit dem Flag --optional-components
.
Beispiel für die neueste Standardbildversion
Im folgenden Beispiel wird die Jupyter-Komponente in einem Cluster installiert, in dem die neueste Standard-Image-Version verwendet wird.
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.
- Legen Sie das Attribut EndpointConfig.enableHttpPortAccess als Teil der
clusters.create
-Anfrage auftrue
fest, um die Verbindung zur Jupyter-Notebook-Web-UI über das Component Gateway zu ermöglichen.
Jupyter-UI und JupyterLab-UI öffnen
Klicken Sie auf die Links zum Component Gateway in der Google Cloud Console, um in Ihrem lokalen Browser das Jupyter-Notebook oder die JupyterLab-UI zu öffnen, die auf dem Masterknoten des Clusters ausgeführt werden.
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:
- Daten in Spark vorverarbeiten, dann einen DataFrame auf dem Master erfassen und TensorFlow ausführen
- Spark zur parallelen Orchestrierung von TensorFlow-Ausführungen verwenden
- Tensorflow-on-YARN ausführen
- In anderen ML-Szenarien verwenden, die GPUs verwenden