Dataproc-Instanz mit aktivierter Spark-Unterstützung erstellen

der alte Name verwendet.

Auf dieser Seite wird beschrieben, wie Sie eine Dataproc Spark-fähige Vertex AI Workbench-Instanz erstellen. Auf dieser Seite werden auch die Vorteile der Dataproc JupyterLab-Erweiterung beschrieben und Sie erhalten einen Überblick über die Verwendung der Erweiterung mit Serverless für Apache Spark und Dataproc in Compute Engine.

Übersicht über die Dataproc JupyterLab-Erweiterung

Auf Vertex AI Workbench-Instanzen ist ab Version M113 die Dataproc JupyterLab-Erweiterung vorinstalliert.

Die Dataproc JupyterLab-Erweiterung bietet zwei Möglichkeiten zum Ausführen von Apache Spark-Notebooks-Jobs: Dataproc-Cluster undGoogle Cloud Serverless for Apache Spark.

  • Dataproc-Cluster bieten eine Vielzahl von Funktionen mit Kontrolle über die Infrastruktur, auf der Spark ausgeführt wird. Sie wählen die Größe und Konfiguration Ihres Spark-Clusters aus und können so Ihre Umgebung anpassen und steuern. Dieser Ansatz ist ideal für komplexe Arbeitslasten, lang andauernde Jobs und die detaillierte Ressourcenverwaltung.
  • Dank Serverless for Apache Spark werden Probleme in der Infrastruktur beseitigt. Sie senden Ihre Spark-Jobs und Google übernimmt die Bereitstellung, Skalierung und Optimierung von Ressourcen im Hintergrund. Dieser serverlose Ansatz bietet eine kostengünstige Option für Data-Science- und ML-Arbeitslasten.

Bei beiden Optionen können Sie Spark für die Datenverarbeitung und -analyse verwenden. Die Wahl zwischen Dataproc-Clustern und Serverless for Apache Spark hängt von Ihren spezifischen Arbeitslastanforderungen, dem erforderlichen Maß an Kontrolle und den Ressourcennutzungsmustern ab.

Die Verwendung von Serverless for Apache Spark für Data-Science- und ML-Arbeitslasten bietet folgende Vorteile:

  • Keine Clusterverwaltung: Sie müssen sich nicht um die Bereitstellung, Konfiguration oder Verwaltung von Spark-Clustern kümmern. So sparen Sie Zeit und Ressourcen.
  • Autoscaling: Serverless for Apache Spark wird automatisch je nach Arbeitslast hoch- und herunterskaliert, sodass Sie nur für die tatsächlich genutzten Ressourcen zahlen.
  • Hohe Leistung: Serverless for Apache Spark ist auf Leistung ausgelegt und nutzt die Infrastruktur von Google Cloud.
  • Einbindung in andere Google Cloud Technologien: Serverless for Apache Spark kann in andere Google Cloud Produkte wie BigQuery und Dataplex Universal Catalog eingebunden werden.

Weitere Informationen finden Sie in der Google Cloud Serverless für Apache Spark-Dokumentation.

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. Enable the Cloud Resource Manager, Dataproc, and Notebooks 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

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

  5. Enable the Cloud Resource Manager, Dataproc, and Notebooks 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

  6. Erforderliche Rollen

    Bitten Sie Ihren Administrator, dem Dienstkonto die folgenden IAM-Rollen zuzuweisen, damit das Dienstkonto die erforderlichen Berechtigungen zum Ausführen einer Notebook-Datei auf einem Serverless for Apache Spark-Cluster oder einem Dataproc-Cluster hat:

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

    Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Ausführen einer Notebook-Datei auf einem Serverless for Apache Spark-Cluster oder einem Dataproc-Cluster 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 einem Serverless for Apache Spark-Cluster oder einem Dataproc-Cluster auszuführen:

    • dataproc.agents.create
    • dataproc.agents.delete
    • dataproc.agents.get
    • dataproc.agents.update
    • dataproc.tasks.lease
    • dataproc.tasks.listInvalidatedLeases
    • dataproc.tasks.reportStatus
    • dataproc.clusters.use

    Ihr Administrator kann dem Dienstkonto möglicherweise auch diese Berechtigungen mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erteilen.

    Instanz mit aktiviertem Dataproc erstellen

    So erstellen Sie eine Vertex AI Workbench-Instanz mit aktiviertem Dataproc:

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

      Zur Seite „VM-Instanzen“

    2. Klicken Sie auf  NEU ERSTELLEN.

    3. Klicken Sie im Dialogfeld Neue Instanz auf Erweiterte Optionen.

    4. Prüfen Sie im Dialogfeld Instanz erstellen im Abschnitt Details, ob Serverlose interaktive Dataproc-Sitzungen aktivieren ausgewählt ist.

    5. Achten Sie darauf, dass der Workbench-Typ auf Instanz festgelegt ist.

    6. Achten Sie darauf, dass Sie im Abschnitt Umgebung die neueste Version oder eine Versionsnummer von M113 oder höher verwenden.

    7. Klicken Sie auf Erstellen.

      Vertex AI Workbench erstellt eine Instanz und startet sie automatisch. Sobald die Instanz einsatzbereit ist, aktiviert Vertex AI Workbench den Link JupyterLab öffnen.

    JupyterLab öffnen

    Klicken Sie neben dem Namen Ihrer Instanz auf JupyterLab öffnen.

    Der Tab JupyterLab-Launcher wird in Ihrem Browser geöffnet. Standardmäßig enthält er Abschnitte für Serverless for Apache Spark Notebooks und Dataproc-Jobs und -Sitzungen. Wenn im ausgewählten Projekt und in der ausgewählten Region Jupyter-fähige Cluster vorhanden sind, wird ein Abschnitt mit dem Namen Dataproc Cluster Notebooks angezeigt.

    Erweiterung mit „Serverlos“ für Apache Spark verwenden

    Serverless for Apache Spark-Laufzeitvorlagen, die sich in derselben Region und demselben Projekt wie Ihre Vertex AI Workbench-Instanz befinden, werden im Abschnitt Serverless for Apache Spark Notebooks des Tabs JupyterLab-Launcher angezeigt.

    Informationen zum Erstellen einer Laufzeitvorlage finden Sie unter Serverless for Apache Spark-Laufzeitvorlage erstellen.

    Klicken Sie zum Öffnen eines neuen serverlosen Spark-Notebooks auf eine Laufzeitvorlage. Es dauert etwa eine Minute, bis der Remote-Spark-Kernel gestartet wird. Nachdem der Kernel gestartet wurde, können Sie mit dem Programmieren beginnen.

    Erweiterung mit Dataproc in Compute Engine verwenden

    Wenn Sie einen Dataproc in Compute Engine-Jupyter-Cluster erstellt haben, enthält der Tab Launcher den Abschnitt Dataproc Cluster Notebooks.

    Für jeden Jupyter-fähigen Dataproc-Cluster, auf den Sie in dieser Region und in diesem Projekt Zugriff haben, werden vier Karten angezeigt.

    So ändern Sie die Region und das Projekt:

    1. Wählen Sie Einstellungen > Cloud Dataproc-Einstellungen aus.

    2. Ändern Sie auf dem Tab Einrichtungskonfiguration unter Projektinformationen die Projekt-ID und die Region und klicken Sie dann auf Speichern.

      Diese Änderungen werden erst wirksam, wenn Sie JupyterLab neu starten.

    3. Wenn Sie JupyterLab neu starten möchten, wählen Sie Datei > Herunterfahren aus und klicken Sie dann auf JupyterLab öffnen auf der Seite Vertex AI Workbench-Instanzen.

    Klicken Sie auf eine Karte, um ein neues Notebook zu erstellen. Nachdem der Remote-Kernel im Dataproc-Cluster gestartet wurde, können Sie mit dem Schreiben des Codes beginnen und ihn dann in Ihrem Cluster ausführen.

    Dataproc auf einer Instanz mit der gcloud CLI und der API verwalten

    In diesem Abschnitt wird beschrieben, wie Sie Dataproc auf einer Vertex AI Workbench-Instanz verwalten.

    Region des Dataproc-Clusters ändern

    Die Standardkernel Ihrer Vertex AI Workbench-Instanz, z. B. Python und TensorFlow, sind lokale Kernel, die auf der VM der Instanz ausgeführt werden. In einer Dataproc-fähigen Vertex AI Workbench-Instanz wird Ihr Notebook über einen Remote-Kernel in einem Dataproc-Cluster ausgeführt. Der Remote-Kernel wird auf einem Dienst außerhalb der VM Ihrer Instanz ausgeführt. So können Sie auf jeden Dataproc-Cluster im selben Projekt zugreifen.

    Standardmäßig verwendet Vertex AI Workbench Dataproc-Cluster in derselben Region wie Ihre Instanz. Sie können die Dataproc-Region jedoch ändern, sofern Component Gateway und die optionale Jupyter-Komponente im Dataproc-Cluster aktiviert sind.

    Testzugriff

    Die Dataproc JupyterLab-Erweiterung ist standardmäßig für Vertex AI Workbench-Instanzen aktiviert. Wenn Sie den Zugriff auf Dataproc testen möchten, können Sie den Zugriff auf die Remote-Kernel Ihrer Instanz prüfen, indem Sie die folgende curl-Anfrage an die Domain kernels.googleusercontent.com senden:

    curl --verbose -H "Authorization: Bearer $(gcloud auth print-access-token)" https://PROJECT_ID-dot-REGION.kernels.googleusercontent.com/api/kernelspecs | jq .

    Wenn der curl-Befehl fehlschlägt, prüfen Sie Folgendes:

    1. Ihre DNS-Einträge sind richtig konfiguriert.

    2. Im selben Projekt ist ein Cluster verfügbar (oder Sie müssen einen erstellen, falls er nicht vorhanden ist).

    3. In Ihrem Cluster sind sowohl das Komponentengateway als auch die optionale Jupyter-Komponente aktiviert.

    Dataproc deaktivieren

    Vertex AI Workbench-Instanzen werden standardmäßig mit aktiviertem Dataproc erstellt. Sie können eine Vertex AI Workbench-Instanz mit deaktiviertem Dataproc erstellen. Setzen Sie dazu den Schlüssel disable-mixer metadata auf true.

    gcloud workbench instances create INSTANCE_NAME --metadata=disable-mixer=true

    Dataproc aktivieren

    Sie können Dataproc auf einer angehaltenen Vertex AI Workbench-Instanz aktivieren, indem Sie den Metadatenwert aktualisieren.

    gcloud workbench instances update INSTANCE_NAME --metadata=disable-mixer=false

    Dataproc mit Terraform verwalten

    Dataproc for Vertex AI Workbench-Instanzen in Terraform werden mit dem Schlüssel disable-mixer im Metadatenfeld verwaltet. Aktivieren Sie Dataproc, indem Sie den disable-mixer-Schlüssel metadata auf false setzen. Deaktivieren Sie Dataproc, indem Sie den Metadatenschlüssel disable-mixer auf true setzen.

    Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

    resource "google_workbench_instance" "default" {
      name     = "workbench-instance-example"
      location = "us-central1-a"
    
      gce_setup {
        machine_type = "n1-standard-1"
        vm_image {
          project = "cloud-notebooks-managed"
          family  = "workbench-instances"
        }
        metadata = {
          disable-mixer = "false"
        }
      }
    }

    Fehlerbehebung

    Informationen zur Diagnose und Behebung von Problemen im Zusammenhang mit dem Erstellen einer Dataproc Spark-fähigen Instanz finden Sie unter Fehlerbehebung bei Vertex AI Workbench.

    Nächste Schritte