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
- Öffnen Sie in der Google Cloud Console die Seite Cluster erstellen.
- Klicken Sie auf Zusätzliche Konfiguration, um den Bereich zu maximieren.
- Bearbeiten Sie Optionale Komponenten.
- 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.
- Legen Sie das Attribut EndpointConfig.enableHttpPortAccess im Rahmen der
clusters.create-Anfrage auftruefest, 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 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:
- 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
- Verwendung mit anderen Szenarien für maschinelles Lernen, die GPUs verwenden