In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
- Dataproc
- Compute Engine
- Cloud Scheduler
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il calcolatore prezzi.
Prima di iniziare
Configura il progetto
- Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
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.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
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.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
Creare un ruolo personalizzato
- Apri la pagina IAM e amministrazione → Ruoli
nella Google Cloud console.
- Fai clic su CREA RUOLO per aprire la pagina Crea ruolo.
- Completa i campi Titolo, Descrizione, ID e Fase di lancio. Suggerimento: utilizza "Crea template di workflow Dataproc" come titolo del ruolo.
- Fai clic su AGGIUNGI AUTORIZZAZIONI.
- Nel modulo Aggiungi autorizzazioni, fai clic su Filtra, quindi seleziona "Autorizzazione". Completa il filtro in modo che sia "Autorizzazione: dataproc.workflowTemplates.instantiate".
- Fai clic sulla casella di controllo a sinistra dell'autorizzazione elencata, quindi fai clic su Aggiungi.

- Nella pagina Crea ruolo, fai di nuovo clic su AGGIUNGI AUTORIZZAZIONI per ripetere i
passaggi secondari precedenti e aggiungere l'autorizzazione "iam.serviceAccounts.actAs"
al ruolo personalizzato. La pagina Crea ruolo ora elenca due autorizzazioni.

- Fai clic su CREA nella pagina Ruolo personalizzato.
Il ruolo personalizzato è elencato nella pagina Ruoli.

Crea un account di servizio
Nella Google Cloud console, vai alla pagina Service account.
Seleziona il progetto.
Fai clic su Crea service account.
Nel campo Nome service account, inserisci il nome
workflow-scheduler. La Google Cloud console compila il campo ID service account in base a questo nome.(Facoltativo) Nel campo Descrizione service account, inserisci una descrizione del account di servizio.
Fai clic su Crea e continua.
Fai clic sul campo Seleziona un ruolo e scegli il ruolo personalizzato Crea template di workflow Dataproc che hai creato nel passaggio precedente.
Fai clic su Continua.
Nel campo Ruolo di amministrazione del service account, inserisci l'indirizzo email del tuo Account Google.
Fai clic su Fine per completare la creazione del account di servizio.
Crea un template di workflow.
Copia ed esegui i comandi elencati di seguito in una finestra del terminale locale o in Cloud Shell per creare e definire un template di workflow.
Note:
- I comandi specificano la regione "us-central1"
. Puoi specificare
una regione diversa o eliminare il flag
--regionse hai eseguito in precedenzagcloud config set compute/regionper impostare la proprietà della regione. - La sequenza "-- " (trattino trattino spazio) nel comando
add-jobpassa l'argomento1000al job SparkPi, che specifica il numero di campioni da utilizzare per stimare il valore di Pi.
- Crea il template di workflow.
gcloud dataproc workflow-templates create sparkpi \ --region=us-central1
- Aggiungi il job Spark al template di workflow sparkpi. L'ID del passaggio "compute"
è obbligatorio e identifica il job SparkPi aggiunto.
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
- Utilizza un
managed,
single-node
cluster per eseguire il workflow. Dataproc creerà il
cluster, eseguirà il workflow e poi lo eliminerà al termine del workflow.
gcloud dataproc workflow-templates set-managed-cluster sparkpi \ --cluster-name=sparkpi \ --single-node \ --region=us-central1
- Fai clic sul nome
sparkpinella pagina Workflow di Dataproc nella console per aprire la pagina Dettagli del template di workflow. Google Cloud Verifica gli attributi del template sparkpi attributes.
Crea un job Cloud Scheduler
Apri la pagina **Cloud Scheduler** nella Google Cloud console (potresti dover selezionare il progetto per aprire la pagina). Fai clic su CREA JOB.
Inserisci o seleziona le seguenti informazioni sul job:
- Seleziona una regione: "us-central" o un'altra regione in cui hai creato il template di workflow.
- Nome: "sparkpi"
- Frequenza: "* * * * *" seleziona ogni minuto; "0 9 * * 1" seleziona ogni lunedì alle 9:00. Per altri valori unix-cron, vedi Definire la pianificazione dei job. Nota: potrai fare clic sul pulsante ESEGUI ORA nei job di Cloud Scheduler nella Google Cloud console per eseguire e testare il job indipendentemente dalla frequenza impostata per il job.
- Fuso orario: seleziona il tuo timezone. Digita "Stati Uniti" per elencare i fusi orari degli Stati Uniti.
- Destinazione: "HTTP"
- URL: inserisci il seguente URL dopo aver inserito
your-project-id. Sostituisci "us-central1" se hai creato il template di workflow in un'altra regione. Questo URL chiamerà
l'API
workflowTemplates.instantiatedi Dataproc per eseguire il template di workflow sparkpi.https://dataproc.googleapis.com/v1/projects/your-project-id/regions/us-central1/workflowTemplates/sparkpi:instantiate?alt=json
- Metodo HTTP:
- "POST"
- Corpo: "{}"
- Intestazione autorizzazione:
- "Aggiungi un token OAuth"
- Service account: Inserisci il service account address di
service account che hai creato per questo tutorial.
Puoi utilizzare il seguente indirizzo dell'account dopo aver inserito your-project-id:
workflow-scheduler@your-project-id.iam.gserviceaccount.com
- Ambito: puoi ignorare questo elemento.
- Fai clic su CREA.
Testa il job del workflow pianificato
Nella riga del job
sparkpinella pagina Job di Cloud Scheduler, fai clic su ESEGUI ORA.Attendi qualche minuto, poi apri la pagina Workflow di Dataproc per verificare che il workflow sparkpi sia stato completato.

Dopo che il workflow elimina il cluster gestito, i dettagli del job rimangono nella Google Cloud console. Fai clic sul job
compute...elencato nella pagina Job di Dataproc per visualizzare i dettagli del job del workflow.
Libera spazio
Il workflow in questo tutorial elimina il cluster gestito al termine del workflow. Se mantieni il workflow, puoi eseguirlo di nuovo senza incorrere in addebiti. Puoi eliminare altre risorse create in questo tutorial per evitare costi ricorrenti.
Elimina un progetto
- Nella Google Cloud console, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto e fai clic su Chiudi per eliminare il progetto.
Elimina il template di workflow
gcloud dataproc workflow-templates delete sparkpi \ --region=us-central1
Elimina il job Cloud Scheduler
Apri la pagina Cloud Scheduler Job
nella Google Cloud console, seleziona la casella a sinistra della sparkpi
funzione, quindi fai clic su ELIMINA.
Elimina il account di servizio
Apri la pagina IAM e amministrazione → Service account
nella Google Cloud console, seleziona la casella a sinistra del workflow-scheduler...
account di servizio, quindi fai clic su ELIMINA.