Dopo aver creato e messo in scena il modello Dataflow, esegui il modello con la console Google Cloud, l'API REST o Google Cloud CLI. Puoi eseguire il deployment dei job del modello Dataflow da molti ambienti, tra cui l'ambiente standard di App Engine, le funzioni Cloud Run e altri ambienti vincolati.
Utilizzare la console Google Cloud
Puoi utilizzare la console Google Cloud per eseguire modelli Dataflow personalizzati.
Modelli forniti da Google
Per eseguire un modello fornito da Google:
- Vai alla pagina Dataflow nella console Google Cloud. Vai alla pagina Dataflow
- Fai clic su add_boxCREA JOB DA MODELLO.
- Seleziona il modello fornito da Google che vuoi eseguire dal menu a discesa Modello di Dataflow.
- Inserisci un nome per il job nel campo Nome job.
- Inserisci i valori dei parametri nei campi dei parametri forniti. Tu non è necessaria la sezione Parametri aggiuntivi quando utilizzi un Modello fornito da Google.
- Fai clic su Esegui job.
Modelli personalizzati
Per eseguire un modello personalizzato:
- Vai alla pagina Dataflow nella console Google Cloud. Vai alla pagina Dataflow
- Fai clic su CREA JOB DA MODELLO.
- Seleziona Modello personalizzato dal menu a discesa Modello di flusso di dati.
- Inserisci un nome per il job nel campo Nome job.
- Inserisci il percorso Cloud Storage del tuo file modello nel modello Cloud Storage del percorso.
- Se il modello richiede parametri, fai clic su addAGGIUNGI PARAMETRO nella sezione Parametri aggiuntivi. Inserisci Nome e Valore del parametro. Ripeti questo passaggio per ogni parametro necessario.
- Fai clic su Esegui job.
Utilizzo dell'API REST
Per eseguire un modello con un oggetto richiesta API REST, invia una richiesta POST HTTP con l'ID progetto. Questa richiesta richiede autorizzazione.
Per saperne di più sui parametri disponibili, consulta la pagina di riferimento dell'API REST per projects.locations.templates.launch.
Creare un job batch di modelli personalizzati
Questo esempio è projects.locations.templates.launch una richiesta crea un job batch da un modello che legge un testo e scrive un file di testo di output. Se la richiesta va a buon fine, il corpo della risposta contiene un'istanza di LaunchTemplateResponse.
Modifica i seguenti valori:
- Sostituisci
YOUR_PROJECT_ID
con l'ID progetto. - Sostituisci
LOCATION
con la regione Dataflow che preferisci. - Sostituisci
JOB_NAME
con il nome di un job a tua scelta. - Sostituisci
YOUR_BUCKET_NAME
con il nome del tuo bucket Cloud Storage. - Imposta
gcsPath
sulla località Cloud Storage del modello . - Imposta
parameters
sull'elenco di coppie chiave-valore. - Imposta
tempLocation
su una posizione in cui disponi dell'autorizzazione di scrittura. Questo valore è obbligatorio per eseguire i modelli forniti da Google.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://YOUR_BUCKET_NAME/templates/TemplateName { "jobName": "JOB_NAME", "parameters": { "inputFile" : "gs://YOUR_BUCKET_NAME/input/my_input.txt", "output": "gs://YOUR_BUCKET_NAME/output/my_output" }, "environment": { "tempLocation": "gs://YOUR_BUCKET_NAME/temp", "zone": "us-central1-f" } }
Creare un job di streaming di modelli personalizzati
Questo esempio projects.locations.templates.launch crea un job di flussi di dati da un modello classico che legge da una sottoscrizione Pub/Sub e scrive in una tabella BigQuery. Se vuoi lanciare un modello flessibile, utilizza projects.locations.flexTemplates.launch . Il modello di esempio è un modello fornito da Google. Puoi modificare il percorso nel modello in modo che rimandi a un modello personalizzato. La stessa logica viene utilizzata per avviare i modelli forniti e personalizzati da Google. In questo esempio, la tabella BigQuery deve già esistere con lo schema appropriato. In caso di esito positivo, il corpo della risposta contiene un'istanza di LaunchTemplateResponse.
Modifica i seguenti valori:
- Sostituisci
YOUR_PROJECT_ID
con l'ID progetto. - Sostituisci
LOCATION
con la regione Dataflow che preferisci. - Sostituisci
JOB_NAME
con il nome di un job a tua scelta. - Sostituisci
YOUR_BUCKET_NAME
con il nome del tuo bucket Cloud Storage. - Sostituisci
GCS_PATH
con la posizione di Cloud Storage del file del modello. La posizione deve iniziare con gs:// - Imposta
parameters
sull'elenco di coppie chiave/valore. I parametri elencati sono specifici per questo esempio di modello. Se utilizzi un modello personalizzato, modifica i parametri in base alle esigenze. Se utilizzi il modello di esempio, sostituisci le seguenti variabili.- Sostituisci
YOUR_SUBSCRIPTION_NAME
con il nome della tua sottoscrizione Pub/Sub. - Sostituisci
YOUR_DATASET
con il tuo set di dati BigQuery e sostituisciYOUR_TABLE_NAME
con il nome della tua tabella BigQuery.
- Sostituisci
- Imposta
tempLocation
su una posizione in cui disponi dell'autorizzazione di scrittura. Questo valore è obbligatorio per eseguire i modelli forniti da Google.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=GCS_PATH { "jobName": "JOB_NAME", "parameters": { "inputSubscription": "projects/YOUR_PROJECT_ID/subscriptions/YOUR_SUBSCRIPTION_NAME", "outputTableSpec": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME" }, "environment": { "tempLocation": "gs://YOUR_BUCKET_NAME/temp", "zone": "us-central1-f" } }
Aggiornare un job di streaming di modelli personalizzati
Questo esempio projects.locations.templates.launch mostra come aggiornare un modello di job di flussi. Se vuoi aggiornare un Flex Modello, utilizza projects.locations.flexTemplates.launch .
- Corsa Esempio 2: creazione di un job di flussi di dati con modello personalizzato per avviare un job di modelli di flussi di dati.
- Invia la seguente richiesta POST HTTP con i seguenti valori modificati:
- Sostituisci
YOUR_PROJECT_ID
con l'ID progetto. - Sostituisci
LOCATION
con la regione Dataflow del job che stai aggiornando. - Sostituisci
JOB_NAME
con il nome esatto del job da aggiornare. - Sostituisci
GCS_PATH
con il percorso Cloud Storage del file modello. La località deve iniziare con gs:// - Imposta
parameters
sull'elenco di coppie chiave/valore. I parametri elencati sono specifici per questo esempio di modello. Se utilizzi un modello personalizzato, modifica i parametri in base alle esigenze. Se utilizzi il modello di esempio, sostituisci le seguenti variabili.- Sostituisci
YOUR_SUBSCRIPTION_NAME
con il nome della tua sottoscrizione Pub/Sub. - Sostituisci
YOUR_DATASET
con il tuo set di dati BigQuery eYOUR_TABLE_NAME
con il nome della tabella BigQuery.
- Sostituisci
- Utilizza il parametro
environment
per modificare le impostazioni dell'ambiente, ad esempio il tipo di macchina. In questo esempio viene utilizzato il tipo di macchina n2-highmem-2, che ha più memoria e CPU per worker rispetto al tipo di macchina predefinito.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=GCS_PATH { "jobName": "JOB_NAME", "parameters": { "inputSubscription": "projects/YOUR_PROJECT_ID/subscriptions/YOUR_TOPIC_NAME", "outputTableSpec": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME" }, "environment": { "machineType": "n2-highmem-2" }, "update": true }
- Sostituisci
- Accedi all'interfaccia di monitoraggio di Dataflow e verifica che sia stato creato un nuovo job con lo stesso nome. Questo job ha lo stato Aggiornato.
Utilizzare le librerie client delle API di Google
Valuta la possibilità di utilizzare le librerie client dell'API di Google per effettuare facilmente chiamate alle API REST di Dataflow. Questo script di esempio utilizza la libreria client API di Google per Python.
In questo esempio, devi impostare le seguenti variabili:
project
: imposta l'ID progetto.job
: imposta un nome job univoco di tua scelta.template
: impostato sulla posizione di Cloud Storage del file modello.parameters
: imposta su un dizionario con i parametri del modello.
Per impostare il
region,
includi il
location
.
Per ulteriori informazioni sulle opzioni disponibili, consulta il
metodo projects.locations.templates.launch
nel riferimento all'API REST di Dataflow.
Utilizza gcloud CLI
L'interfaccia a riga di comando gcloud può eseguire un modello personalizzato o fornito da Google utilizzando il comando gcloud dataflow jobs run
. Esempi di
che eseguono modelli forniti da Google sono documentati
Pagina dei modelli forniti da Google.
Per i seguenti esempi di modelli personalizzati, imposta i seguenti valori:
- Sostituisci
JOB_NAME
con un nome job a tua scelta. - Sostituisci
YOUR_BUCKET_NAME
con il nome del tuo cloud Cloud Storage. - Imposta
--gcs-location
sul percorso Cloud Storage del file modello. - Imposta
--parameters
nell'elenco di parametri separati da virgole da passare al job. Non sono consentiti spazi tra virgole e valori. - Per impedire alle VM di accettare chiavi SSH archiviate nel progetto.
metadati, usa il flag
additional-experiments
conblock_project_ssh_keys
opzione di servizio:--additional-experiments=block_project_ssh_keys
.
Creare un job batch di modelli personalizzati
Questo esempio crea un job batch da un modello che legge un file di testo e scrive un file di testo di output.
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://YOUR_BUCKET_NAME/templates/MyTemplate \ --parameters inputFile=gs://YOUR_BUCKET_NAME/input/my_input.txt,output=gs://YOUR_BUCKET_NAME/output/my_output
La richiesta restituisce una risposta con il seguente formato.
id: 2016-10-11_17_10_59-1234530157620696789 projectId: YOUR_PROJECT_ID type: JOB_TYPE_BATCH
Crea un job di flussi di dati con modello personalizzato
Questo esempio crea un job di streaming da un modello che legge da un argomento Pub/Sub e scrive in una tabella BigQuery. La tabella BigQuery deve già esistenti con lo schema appropriato.
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://YOUR_BUCKET_NAME/templates/MyTemplate \ --parameters topic=projects/project-identifier/topics/resource-name,table=my_project:my_dataset.my_table_name
La richiesta restituisce una risposta nel formato seguente.
id: 2016-10-11_17_10_59-1234530157620696789 projectId: YOUR_PROJECT_ID type: JOB_TYPE_STREAMING
Per un elenco completo dei flag per il comando gcloud dataflow jobs run
, consulta la documentazione di riferimento di gcloud CLI.
Monitoraggio e risoluzione dei problemi
L'interfaccia di monitoraggio di Dataflow consente di monitorare i job Dataflow. Se un job non va a buon fine, puoi trovare suggerimenti per la risoluzione dei problemi, strategie di debug e un catalogo di errori comuni nella guida Risoluzione dei problemi della pipeline.