Im Gegensatz zu standardmäßigen Workflows, die eine zuvor erstellte Workflow-Vorlagenressource instanziieren, verwenden Inline-Workflows eine YAML-Datei oder eine eingebettete WorkflowTemplate-Definition zum Ausführen eines Workflows.
.Inline-Workflow erstellen und ausführen
Weitere Informationen finden Sie unter Workflow mithilfe einer YAML-Datei instanziieren.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- project-id: Google Cloud Projekt-ID
- region: Clusterregion, z. B. "us-central1"
- zoneUri: Geben Sie eine zone innerhalb der Region des Clusters an, z. B. "us-central1-b" oder lassen Sie ("") leer, um die Auto Zone-Platzierung von Dataproc zu verwenden.
- clusterName: Clustername
HTTP-Methode und URL:
POST https://dataproc.googleapis.com/v1/projects/project-id /regions/region /workflowTemplates:instantiateInline
JSON-Text anfordern:
{ "jobs": [ { "hadoopJob": { "mainJarFileUri": "file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar", "args": [ "teragen", "1000", "hdfs:///gen/" ] }, "stepId": "teragen" }, { "hadoopJob": { "mainJarFileUri": "file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar", "args": [ "terasort", "hdfs:///gen/", "hdfs:///sort/" ] }, "stepId": "terasort", "prerequisiteStepIds": [ "teragen" ] } ], "placement": { "managedCluster": { "clusterName": "cluster-name ", "config": { "gceClusterConfig": { "zoneUri": "zone " } } } } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataproc.googleapis.com/v1/projects/project-id /regions/region /workflowTemplates:instantiateInline"
PowerShell (Windows)
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataproc.googleapis.com/v1/projects/project-id /regions/region /workflowTemplates:instantiateInline" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/project-id/regions/region/operations/2fbd0dad-...", "metadata": { "@type": "type.googleapis.com/google.cloud.dataproc.v1.WorkflowMetadata", "graph": { "nodes": [ { "stepId": "teragen", "state": "RUNNABLE" }, { "stepId": "terasort", "prerequisiteStepIds": [ "teragen" ], "state": "BLOCKED" } ] }, "state": "PENDING", "startTime": "2020-04-02T22:50:44.826Z" } }
Derzeit wird das Erstellen von Inline-Workflows in der Google Cloud Console nicht unterstützt. Workflow-Vorlagen und instanziierte Workflows können auf der Dataproc-Seite Workflows aufgerufen werden.
- Clientbibliothek installieren
- Standardanmeldedaten für Anwendungen einrichten
- Führen Sie den Code aus.
- Clientbibliothek installieren
- Standardanmeldedaten für Anwendungen einrichten
- Führen Sie den Code aus
- Clientbibliothek installieren
- Standardanmeldedaten für Anwendungen einrichten
- Führen Sie den Code aus