Il modello Pub/Sub nei file Avro di Cloud Storage è una pipeline di inserimento flussi che legge i dati da un argomento Pub/Sub e scrive i file Avro nel bucket Cloud Storage specificato.
Requisiti della pipeline
- L'argomento Pub/Sub di input deve esistere prima dell'esecuzione della pipeline.
Parametri del modello
Parametri obbligatori
- inputTopic: l'argomento Pub/Sub a cui sottoscrivere per il consumo dei messaggi. Il nome dell'argomento deve essere nel formato
projects/<PROJECT_ID>/topics/<TOPIC_NAME>. - outputDirectory: la directory di output in cui vengono archiviati i file Avro di output. Deve contenere
/alla fine. Ad esempio:gs://example-bucket/example-directory/. - avroTempDirectory: la directory per i file Avro temporanei. Deve contenere
/alla fine. Ad esempio:gs://example-bucket/example-directory/.
Parametri facoltativi
- outputFilenamePrefix: il prefisso del nome del file di output per i file Avro. Il valore predefinito è: output.
- outputFilenameSuffix: il suffisso del nome del file di output per i file Avro. Il valore predefinito è vuoto.
- outputShardTemplate: il modello di shard definisce la parte dinamica di ogni file con finestra. Per impostazione predefinita, la pipeline utilizza un singolo shard per l'output nel file system all'interno di ogni finestra. Di conseguenza, tutti gli output di dati vengono inseriti in un singolo file per finestra. Il valore predefinito di
outputShardTemplateèto W-P-SS-of-NN, doveWè l'intervallo di date della finestra,Psono le informazioni del riquadro,Sè il numero di shard eNè il numero di shard. Nel caso di un singolo file, la parteSS-of-NNdioutputShardTemplateè00-of-01. - yearPattern: pattern per la formattazione dell'anno. Deve essere uno o più di
yoY. La distinzione tra maiuscole e minuscole non fa differenza nell'anno. Facoltativamente, racchiudi il pattern con caratteri non alfanumerici o con il carattere di directory (/). Il valore predefinito èYYYY. - monthPattern: pattern per la formattazione del mese. Deve essere uno o più caratteri
M. Facoltativamente, racchiudi il pattern con caratteri non alfanumerici o con il carattere di directory (/). Il valore predefinito èMM. - dayPattern: pattern per la formattazione del giorno. Deve essere uno o più di
dper il giorno del mese oDper il giorno dell'anno. Facoltativamente, racchiudi il pattern con caratteri non alfanumerici o con il carattere di directory (/). Il valore predefinito èdd. - hourPattern: pattern per la formattazione dell'ora. Deve essere uno o più caratteri
H. Facoltativamente, racchiudi il pattern con caratteri non alfanumerici o con il carattere di directory (/). Il valore predefinito èHH. - minutePattern: pattern per la formattazione del minuto. Deve essere uno o più caratteri
m. Facoltativamente, racchiudi il pattern con caratteri non alfanumerici o con il carattere di directory (/). Il valore predefinito èmm.
Esegui il modello
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome job univoco.
- (Facoltativo) Per Endpoint regionale, seleziona un valore dal menu a discesa. La regione predefinita è
us-central1.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta Località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona il modello Pub/Sub nei file Avro di Cloud Storage.
- Nei campi dei parametri forniti, inserisci i valori dei parametri.
- Fai clic su Esegui job.
gcloud
Nella shell o nel terminale, esegui il modello:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/ \ --region REGION_NAME \ --staging-location STAGING_LOCATION \ --parameters \ inputTopic=projects/PROJECT_ID/topics/TOPIC_NAME,\ outputDirectory=gs://BUCKET_NAME/output/,\ outputFilenamePrefix=FILENAME_PREFIX,\ outputFilenameSuffix=FILENAME_SUFFIX,\ outputShardTemplate=SHARD_TEMPLATE,\ avroTempDirectory=gs://BUCKET_NAME/temp/
Sostituisci quanto segue:
JOB_NAME: un nome job univoco a tua sceltaREGION_NAME: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1VERSION: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latestper utilizzare la versione più recente del modello, disponibile nella cartella principale non datata nel bucket: gs://dataflow-templates-REGION_NAME/latest/- il nome della versione, ad esempio
2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella principale datata nel bucket: gs://dataflow-templates-REGION_NAME/
STAGING_LOCATION: la località per l'inserimento gestione temporanea dei file locali (ad esempio,gs://your-bucket/staging)TOPIC_NAME: il nome dell'argomento Pub/SubBUCKET_NAME: il nome del bucket Cloud StorageFILENAME_PREFIX: il prefisso del nome del file di output preferitoFILENAME_SUFFIX: il suffisso del nome del file di output preferitoSHARD_TEMPLATE: il modello di shard di output preferito
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta HTTP POST. Per saperne di più sull'
API e sui relativi ambiti di autorizzazione, consulta
projects.templates.launch.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/ { "jobName": "JOB_NAME", "environment": { "ipConfiguration": "WORKER_IP_UNSPECIFIED", "additionalExperiments": [] }, "parameters": { "inputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME", "outputDirectory": "gs://BUCKET_NAME/output/", "avroTempDirectory": "gs://BUCKET_NAME/temp/", "outputFilenamePrefix": "FILENAME_PREFIX", "outputFilenameSuffix": "FILENAME_SUFFIX", "outputShardTemplate": "SHARD_TEMPLATE" } }
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto in cui vuoi eseguire il job Dataflow Google CloudJOB_NAME: un nome job univoco a tua sceltaLOCATION: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1VERSION: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latestper utilizzare la versione più recente del modello, disponibile nella cartella principale non datata nel bucket: gs://dataflow-templates-REGION_NAME/latest/- il nome della versione, ad esempio
2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella principale datata nel bucket: gs://dataflow-templates-REGION_NAME/
STAGING_LOCATION: la località per l'inserimento gestione temporanea dei file locali (ad esempio,gs://your-bucket/staging)TOPIC_NAME: il nome dell'argomento Pub/SubBUCKET_NAME: il nome del bucket Cloud StorageFILENAME_PREFIX: il prefisso del nome del file di output preferitoFILENAME_SUFFIX: il suffisso del nome del file di output preferitoSHARD_TEMPLATE: il modello di shard di output preferito
Passaggi successivi
- Scopri di più sui modelli Dataflow.
- Consulta l'elenco dei modelli forniti da Google.