„Serverlos“ für Apache Spark mit verwalteten Notebooks verwenden
Auf dieser Seite wird erläutert, wie Sie mithilfe von Google Cloud Serverless für Apache Spark eine Notebook-Datei auf serverlosem Spark in einer von Vertex AI Workbench verwalteten Notebook-Instanz ausführen.
Die Instanz Ihrer verwalteten Notebooks kann den Code einer Notebookdatei senden, um sie auf dem Serverless for Apache Spark-Dienst auszuführen. Der Dienst führt den Code auf einer verwalteten Computing-Infrastruktur aus, die Ressourcen automatisch nach Bedarf skaliert. Daher müssen Sie keinen eigenen Cluster bereitstellen und verwalten.
Gebühren für Serverless for Apache Spark fallen nur für den Zeitraum an, in dem die Arbeitslast ausgeführt wird.
Voraussetzungen
Informationen zum Ausführen einer Notebook-Datei auf Serverless für Apache Spark finden Sie in den folgenden Anforderungen.
Ihre Serverless for Apache Spark-Sitzung muss in derselben Region wie Ihre verwaltete Notebook-Instanz ausgeführt werden.
Die Einschränkung „OS-Login erforderlich“ (
constraints/compute.requireOsLogin
) darf für Ihr Projekt nicht aktiviert sein. Siehe OS Login in einer Organisation verwalten.Zum Ausführen einer Notebook-Datei in Serverless for Apache Spark müssen Sie ein Dienstkonto mit bestimmten Berechtigungen bereitstellen. Sie können diese Berechtigungen dem Standarddienstkonto erteilen oder ein benutzerdefiniertes Dienstkonto bereitstellen. Informationen dazu finden Sie im Abschnitt „Berechtigungen“ auf dieser Seite.
Ihre Serverless for Apache Spark-Sitzung verwendet ein VPC-Netzwerk (Virtual Private Cloud), um Arbeitslasten auszuführen. Das VPC-Subnetzwerk muss bestimmte Anforderungen erfüllen. Lesen Sie die Anforderungen unter Google Cloud Serverless for Apache Spark-Netzwerkkonfiguration.
Berechtigungen
Damit das Dienstkonto die erforderlichen Berechtigungen zum Ausführen einer Notebookdatei auf Serverless for Apache Spark hat, bitten Sie Ihren Administrator, dem Dienstkonto die IAM-Rolle Dataproc-Editor (roles/dataproc.editor
) für Ihr Projekt zuzuweisen.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Ausführen einer Notebook-Datei auf Serverless for Apache Spark erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um eine Notebook-Datei auf Serverless for Apache Spark auszuführen:
-
dataproc.agents.create
-
dataproc.agents.delete
-
dataproc.agents.get
-
dataproc.agents.update
-
dataproc.session.create
-
dataproc.sessions.get
-
dataproc.sessions.list
-
dataproc.sessions.terminate
-
dataproc.sessions.delete
-
dataproc.tasks.lease
-
dataproc.tasks.listInvalidatedLeases
-
dataproc.tasks.reportStatus
Ihr Administrator kann dem Dienstkonto möglicherweise auch diese Berechtigungen mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erteilen.
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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks, Vertex AI, and Dataproc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks, Vertex AI, and Dataproc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Falls noch nicht geschehen, konfigurieren Sie ein VPC-Netzwerk, das die unter Google Cloud Serverless for Apache Spark-Netzwerkkonfiguration aufgeführten Anforderungen erfüllt.
Rufen Sie in der Google Cloud Console die Seite Verwaltete Notebooks auf.
Klicken Sie neben dem Namen der verwalteten Notebook-Instanz auf JupyterLab öffnen.
Wählen Sie auf der JupyterLab-Oberfläche Ihrer verwalteten Notebook-Instanz den Tab Launcher und dann Serverless Spark aus. Wenn der Tab Launcher nicht geöffnet ist, wählen Sie Datei > Neuer Launcher aus, um ihn zu öffnen.
Das Dialogfeld Serverless Spark-Sitzung erstellen wird angezeigt.
Geben Sie im Feld Sitzungsname einen Namen für die Sitzung ein.
Geben Sie unter Ausführungskonfiguration das Dienstkonto ein, das Sie verwenden möchten. Wenn Sie kein Dienstkonto eingeben, verwendet Ihre Sitzung das Compute Engine-Standarddienstkonto.
Wählen Sie im Abschnitt Netzwerkkonfiguration das Netzwerk und das Subnetzwerk eines Netzwerks aus, das die unter Google Cloud Serverless for Apache Spark-Netzwerkkonfiguration aufgeführten Anforderungen erfüllt.
Klicken Sie auf Erstellen.
Eine neue Notebook-Datei wird geöffnet. Die von Ihnen erstellte Serverless for Apache Spark-Sitzung ist der Kernel, der den Code Ihrer Notebook-Datei ausführt.
Fügen Sie der neuen Notebookdatei Code hinzu und führen Sie den Code aus.
Wenn Sie Code auf einem anderen Kernel ausführen möchten, ändern Sie den Kernel.
Wenn Sie den Code für Ihre „Serverlos“ für Apache Spark-Sitzung noch einmal ausführen möchten, ändern Sie den Kernel wieder in den „Serverlos“ für Apache Spark-Kernel.
Schließen Sie in JupyterLab die Notebookdatei, die beim Erstellen der Serverless for Apache Spark-Sitzung erstellt wurde.
Klicken Sie im angezeigten Dialogfeld auf Sitzung beenden.
Rufen Sie in der Google Cloud Console die Seite Dataproc-Sitzungen auf.
Wählen Sie die Sitzung aus, die Sie beenden möchten, und klicken Sie dann auf Beenden.
Rufen Sie in der Google Cloud Console die Seite Dataproc-Sitzungen auf.
Wählen Sie die Sitzungen aus, die Sie löschen möchten, und klicken Sie dann auf Löschen.
JupyterLab öffnen
„Serverlos“ für Apache Spark-Sitzung starten
Gehen Sie folgendermaßen vor, um eine Serverless for Apache Spark-Sitzung zu starten.
Code auf „Serverlos“ für Apache Spark und anderen Kernels ausführen
„Serverlos“ für Apache Spark-Sitzung beenden
Sie können eine Serverless for Apache Spark-Sitzung auf der JupyterLab-Oberfläche oder in der Google Cloud Console beenden. Der Code in Ihrer Notebookdatei wird beibehalten.
JupyterLab
Google Cloud Console
„Serverlos“ für Apache Spark-Sitzung löschen
Sie können eine Serverless for Apache Spark-Sitzung über die Google Cloud Console löschen. Der Code in Ihrer Notebookdatei wird beibehalten.