„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.

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

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

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. Falls noch nicht geschehen, konfigurieren Sie ein VPC-Netzwerk, das die unter Google Cloud Serverless for Apache Spark-Netzwerkkonfiguration aufgeführten Anforderungen erfüllt.
  9. JupyterLab öffnen

    1. Rufen Sie in der Google Cloud Console die Seite Verwaltete Notebooks auf.

      Zu "Verwaltete Notebooks"

    2. Klicken Sie neben dem Namen der verwalteten Notebook-Instanz auf JupyterLab öffnen.

    „Serverlos“ für Apache Spark-Sitzung starten

    Gehen Sie folgendermaßen vor, um eine Serverless for Apache Spark-Sitzung zu starten.

    1. 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.

    2. Geben Sie im Feld Sitzungsname einen Namen für die Sitzung ein.

    3. 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.

    4. 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.

    5. 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.

    Code auf „Serverlos“ für Apache Spark und anderen Kernels ausführen

    1. Fügen Sie der neuen Notebookdatei Code hinzu und führen Sie den Code aus.

    2. Wenn Sie Code auf einem anderen Kernel ausführen möchten, ändern Sie den Kernel.

    3. 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.

    „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

    1. Schließen Sie in JupyterLab die Notebookdatei, die beim Erstellen der Serverless for Apache Spark-Sitzung erstellt wurde.

    2. Klicken Sie im angezeigten Dialogfeld auf Sitzung beenden.

    Google Cloud Console

    1. Rufen Sie in der Google Cloud Console die Seite Dataproc-Sitzungen auf.

      Zu Dataproc-Sitzungen

    2. Wählen Sie die Sitzung aus, die Sie beenden möchten, und klicken Sie dann auf Beenden.

    „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.

    1. Rufen Sie in der Google Cloud Console die Seite Dataproc-Sitzungen auf.

      Zu Dataproc-Sitzungen

    2. Wählen Sie die Sitzungen aus, die Sie löschen möchten, und klicken Sie dann auf Löschen.

    Nächste Schritte