In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
- Dataproc
- Compute Engine
- Cloud Scheduler
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Hinweis
Projekt einrichten
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc, Compute Engine, and Cloud Scheduler APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init -
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc, Compute Engine, and Cloud Scheduler APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Benutzerdefinierte Rolle erstellen
- Öffnen Sie in der Google Cloud Console die Seite IAM & Verwaltung → Rollen.
- Klicken Sie auf ROLLE ERSTELLEN, um die Seite Rolle erstellen zu öffnen.
- Füllen Sie die Felder "Titel", "Beschreibung", "ID" und "Startphase" aus. Vorschlag: Verwenden Sie "Dataproc-Workflow-Vorlage erstellen" als Rollentitel.
- Klicken Sie auf
- Berechtigungen hinzufügen.
- Klicken Sie im Formular Berechtigungen hinzufügen auf Filtern und wählen Sie dann „Berechtigung“ aus. Schließen Sie den Filter ab, um "Berechtigung: dataproc.workflowTemplates.instantiate" zu lesen.
- Setzen Sie ein Häkchen in das Kästchen links neben der aufgeführten Berechtigung und klicken Sie dann auf Hinzufügen.

- Klicken Sie auf der Seite "Rolle erstellen" noch einmal auf PERMISSIONS HINZUFÜGEN, um die vorherigen Unterschritte zu wiederholen und der benutzerdefinierten Rolle die Berechtigung "iam.serviceAccounts.actAs" hinzuzufügen. Auf der Seite Rolle erstellen werden jetzt zwei Berechtigungen aufgeführt.

- Klicken Sie auf der Seite Benutzerdefinierte Rolle auf ERSTELLEN.
Die benutzerdefinierte Rolle wird auf der Seite Rollen aufgeführt.

Dienstkonto erstellen
Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf.
Wählen Sie Ihr Projekt aus.
Klicken Sie auf Dienstkonto erstellen.
Geben Sie im Feld Name des Dienstkontos den Namen
workflow-schedulerein. Die Google Cloud Console füllt das Feld Dienstkonto-ID anhand dieses Namens aus.Optional: Im Feld Beschreibung des Dienstkontos können Sie eine entsprechende Beschreibung eingeben.
Klicken Sie auf Erstellen und fortfahren.
Klicken Sie auf das Feld Rolle auswählen und wählen Sie die benutzerdefinierte Rolle Dataproc Workflow Template Create aus, die Sie im vorherigen Schritt erstellt haben.
Klicken Sie auf Weiter.
Geben Sie im Feld Rolle "Dienstkontoadministrator" die E-Mail-Adresse Ihres Google-Kontos ein.
Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.
Workflow-Vorlage erstellen
Kopieren Sie die unten aufgeführten Befehle und führen Sie sie in einem lokalen Terminalfenster oder in Cloud Shell aus, um eine Workflow-Vorlage zu erstellen und zu definieren.
Hinweise:
- Die Befehle geben die Region "us-central1" an. Sie können eine andere Region angeben oder das Flag
--regionlöschen, wenn Sie zuvorgcloud config set compute/regionausgeführt haben, um das Regionsattribut festzulegen. - Die Sequenz "--" (Bindestrich-Bindestrich-Leerzeichen) im Befehl
add-jobübergibt das Argument1000an den SparkPi-Job, der die Anzahl der Stichproben angibt, die zur Schätzung des Werts von Pi verwendet werden.
- Erstellen Sie die Workflow-Vorlage.
gcloud dataproc workflow-templates create sparkpi \ --region=us-central1
- Fügen Sie der Workflow-Vorlage den Spark-Job hinzu. Die Schritt-ID "compute" ist erforderlich und identifiziert den hinzugefügten SparkPi-Job.
gcloud dataproc workflow-templates add-job spark \ --workflow-template=sparkpi \ --step-id=compute \ --class=org.apache.spark.examples.SparkPi \ --jars=file:///usr/lib/spark/examples/jars/spark-examples.jar \ --region=us-central1 \ -- 1000
- Verwenden Sie einen verwalteten Einzelknotencluster, um den Workflow auszuführen. Managed Service for Apache Spark erstellt den Cluster, führt den Workflow darauf aus und löscht den Cluster dann, wenn der Workflow abgeschlossen ist.
gcloud dataproc workflow-templates set-managed-cluster sparkpi \ --cluster-name=sparkpi \ --single-node \ --region=us-central1
- Klicken Sie auf der Seite Workflows des Managed Service for Apache Spark in der Google Cloud Console auf den Namen des
sparkpi, um die Seite Workflowvorlagendetails zu öffnen. Bestätigen Sie die Attribute der SparkPi-Vorlage.
Cloud Scheduler-Job erstellen
Öffnen Sie in derGoogle Cloud Console die Seite Cloud Scheduler. Möglicherweise müssen Sie Ihr Projekt auswählen, um die Seite zu öffnen. Klicken Sie auf Job ERSTELLEN.
Geben Sie die folgenden Jobinformationen ein oder wählen Sie diese aus:
- Region auswählen: "us-central" oder eine andere Region, in der Sie Ihre Workflow-Vorlage erstellt haben
- Name: "sparkpi"
- Häufigkeit: Mit "* * * * *" wird jede Minute ausgewählt. "0 9 * * 1" wählt jeden Montag um 9 Uhr aus. Weitere Informationen zu anderen unix-cron-Werten finden Sie unter Jobzeitplan definieren. Hinweis:Sie können in der Google Cloud Console in den Cloud Scheduler-Jobs auf den Button JETZT AUSFÜHREN klicken, um den Job auszuführen und zu testen, unabhängig von der Häufigkeit, die Sie für den Job eingestellt haben.
- Zeitzone: Wählen Sie Ihre timezone aus. Geben Sie "USA" ein, um die US-Zeitzonen aufzulisten.
- Ziel: „HTTP“
- URL: Fügen Sie nach dem Einfügen von your-project-id die folgende URL ein. Ersetzen Sie "us-central1", wenn Sie Ihre Workflow-Vorlage in einer anderen Region erstellt haben. Über diese URL wird die Managed Service for Apache Spark-API
workflowTemplates.instantiateaufgerufen, um die sparkpi-Workflowvorlage auszuführen.https://dataproc.googleapis.com/v1/projects/your-project-id/regions/us-central1/workflowTemplates/sparkpi:instantiate?alt=json
- HTTP-Methode:
- "POST"
- Text: "{}"
- Auth-Header:
- "Add OAuth token"
- Dienstkonto: Fügen Sie den service account address des Dienstkontos ein, das Sie für diese Anleitung erstellt haben.
Sie können die folgende Kontoadresse nach dem Einfügen von your-project-id verwenden:
workflow-scheduler@your-project-id.iam.gserviceaccount.com
- Bereich: Sie können dieses Element ignorieren.
- Klicken Sie auf ERSTELLEN.
Geplanten Workflow-Job testen
Klicken Sie in der Jobzeile
sparkpiauf der Seite Cloud Scheduler-Jobs auf JETZT AUSFÜHREN.Warten Sie einige Minuten und öffnen Sie dann die Seite Workflows von Managed Service for Apache Spark, um zu prüfen, ob der Workflow „sparkpi“ abgeschlossen wurde.

Nachdem der verwaltete Cluster durch den Workflow gelöscht wurde, bleiben die Jobdetails in der Google Cloud -Konsole erhalten. Klicken Sie auf der Seite Jobs von Managed Service for Apache Spark auf den
compute...-Job, um die Workflow-Jobdetails aufzurufen.
Bereinigen
Der Workflow in dieser Anleitung löscht den verwalteten Cluster, wenn der Workflow abgeschlossen ist. Wenn Sie den Workflow beibehalten, können Sie ihn noch einmal ausführen, ohne dass Kosten anfallen. Sie können andere in dieser Anleitung erstellte Ressourcen löschen, um wiederkehrende Kosten zu vermeiden.
Projekt löschen
- Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
Workflowvorlage löschen
gcloud dataproc workflow-templates delete sparkpi \ --region=us-central1
Cloud Scheduler-Job löschen
Öffnen Sie in der Google Cloud Console die Seite Cloud Scheduler Jobs, wählen Sie das Kästchen links neben der sparkpi-Funktion aus und klicken Sie dann auf „LÖSCHEN“.
Dienstkonto löschen
Öffnen Sie in der Google Cloud Console die Seite IAM & Verwaltung → Dienstkonten, setzen Sie ein Häkchen links neben dem workflow-scheduler...-Dienstkonto und klicken Sie dann auf „LÖSCHEN“.
Nächste Schritte
- Weitere Informationen finden Sie unter Übersicht über Workflowvorlagen für Managed Service for Apache Spark.
- Lösungen für die Workflow-Planung