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 account Google Cloud . 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 console Google Cloud .
- Fai clic su CREA RUOLO per aprire la pagina Crea ruolo.
- Completa i campi Titolo, Descrizione, ID e Fase di lancio. Suggerimento: Utilizza "Dataproc Workflow Template Create" come titolo del ruolo.
- Fai clic su AGGIUNGI AUTORIZZAZIONI.
- Nel modulo Aggiungi autorizzazioni, fai clic su Filtro, quindi seleziona "Autorizzazione". Completa il filtro in modo che venga visualizzato "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 per 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 console Google Cloud , 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 console Google Cloud compila il campo ID service account in base a questo nome.(Facoltativo) Nel campo Descrizione service account, inserisci una descrizione del service account.
Fai clic su Crea e continua.
Fai clic sul campo Seleziona un ruolo e scegli il ruolo personalizzato Dataproc Workflow Template Create che hai creato nel passaggio precedente.
Fai clic su Continua.
Nel campo Ruolo degli amministratori dell'account di servizio, inserisci l'indirizzo email del tuo Account Google.
Fai clic su Fine per completare la creazione del service account.
Crea un modello 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 modello di workflow.
Note:
- I comandi specificano la regione "us-central1". Puoi specificare
un'altra regione 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 modello di workflow sparkpi. L'ID 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 cluster
gestito,
a un solo nodo
per eseguire il flusso di lavoro. Managed Service for Apache Spark creerà il
cluster, eseguirà il flusso di lavoro e lo eliminerà al termine del flusso di lavoro.
gcloud dataproc workflow-templates set-managed-cluster sparkpi \ --cluster-name=sparkpi \ --single-node \ --region=us-central1
- Fai clic sul nome di
sparkpinella pagina Managed Service for Apache Spark Workflow nella console Google Cloud per aprire la pagina Dettagli del modello di workflow. Conferma gli attributi del modello sparkpi.
Crea un job Cloud Scheduler
Apri la pagina Cloud Scheduler nella consoleGoogle Cloud (potresti dover selezionare il tuo 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. Consulta la sezione Definizione della pianificazione del job per altri valori unix-cron. Nota:potrai fare clic sul pulsante ESEGUI ORA nei job di Cloud Scheduler nella console Google Cloud per eseguire e testare il job indipendentemente dalla frequenza impostata.
- Fuso orario:seleziona il tuo timezone. Digita "Stati Uniti" per visualizzare 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 Managed Service for Apache Spark
workflowTemplates.instantiateper eseguire il modello di flusso di lavoro 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 token OAuth"
- Service account: inserisci il service account address dell'account di servizio 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.
Testare il job del flusso di lavoro pianificato
Nella riga del job
sparkpinella pagina Cloud Scheduler Jobs, fai clic su ESEGUI ORA.Attendi qualche minuto, poi apri la pagina Workflow di Managed Service for Apache Spark per verificare che il workflow sparkpi sia stato completato.

Dopo che il flusso di lavoro elimina il cluster gestito, i dettagli del job vengono conservati nella console Google Cloud . Fai clic sul job
compute...elencato nella pagina Job di Managed Service for Apache Spark per visualizzare i dettagli del job del workflow.
Esegui la pulizia
Il workflow di questo tutorial elimina il cluster gestito al termine del workflow. Il mantenimento del flusso di lavoro consente di eseguirlo nuovamente senza costi. Puoi eliminare altre risorse create in questo tutorial per evitare costi ricorrenti.
Elimina un progetto
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona quello che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.
Elimina il modello di workflow
gcloud dataproc workflow-templates delete sparkpi \ --region=us-central1
Elimina il job Cloud Scheduler
Apri la pagina Cloud Scheduler Job
nella console Google Cloud , seleziona la casella a sinistra della funzione sparkpi, quindi fai clic su ELIMINA.
Eliminare il account di servizio
Apri la pagina IAM e amministrazione → Service account
nella console Google Cloud , seleziona la casella a sinistra dell'account di servizio workflow-scheduler..., quindi fai clic su ELIMINA.
Passaggi successivi
- Consulta la panoramica dei modelli di workflow di Managed Service for Apache Spark.
- Vedi Soluzioni di pianificazione del flusso di lavoro.