Google fornisce un set di modelli open source Dataflow.
Questi modelli Dataflow possono aiutarti a risolvere attività di dati di grandi dimensioni, tra cui l'importazione, l'esportazione e il backup dei dati, il ripristino dei dati e le operazioni API collettive, il tutto senza utilizzare un ambiente di sviluppo dedicato. I modelli sono basati su Apache Beam e utilizzano Dataflow per trasformare i dati.
Per informazioni generali sui modelli, consulta Modelli di Dataflow. Per un elenco di tutti i modelli forniti da Google, consulta la Guida introduttiva ai modelli forniti da Google.Questa guida documenta i modelli batch.
Da TFRecord da BigQuery a Cloud Storage
Il modello TFRecords da BigQuery a Cloud Storage è una pipeline che legge i dati da una query BigQuery e li scrive in un bucket Cloud Storage in formato TFRecord. Puoi specificare le suddivisioni della percentuale di addestramento, test e convalida. Per impostazione predefinita, la suddivisione è 1 o 100% per il set di addestramento e 0 o 0% per i set di test e convalida. Quando imposti la suddivisione del set di dati, la somma dei valori di addestramento, test e convalida deve essere pari o inferiore al 100% (ad esempio 0,6+0,2+0,2). Dataflow determina automaticamente il numero ottimale di shard per ogni set di dati di output.
Requisiti per questa pipeline:
- Devono esistere la tabella e il set di dati BigQuery.
- Il bucket Cloud Storage di output deve esistere prima dell'esecuzione della pipeline. Non è necessario preesistere e vengono generate automaticamente le sottodirectory di addestramento, test e convalida.
Parametri del modello
Parametro | Descrizione |
---|---|
readQuery |
Una query BigQuery BigQuery che estrae i dati dall'origine. Ad esempio, select * from dataset1.sample_table . |
outputDirectory |
Il prefisso del percorso di Cloud Storage di primo livello a cui scrivere i file TFRecord per l'addestramento, il test e la convalida. Ad esempio, gs://mybucket/output . Le sottodirectory per i file TFRecord di addestramento, test e convalida generati vengono generate automaticamente da outputDirectory . Ad esempio, gs://mybucket/output/train |
trainingPercentage |
(Facoltativo) La percentuale di dati delle query assegnati ai file TFRecord di addestramento. Il valore predefinito è 1 o 100%. |
testingPercentage |
(Facoltativo) La percentuale di dati delle query assegnati ai test dei file TFRecord. Il valore predefinito è 0 o 0%. |
validationPercentage |
(Facoltativo) La percentuale di dati delle query assegnati ai file TFRecord di convalida. Il valore predefinito è 0 o 0%. |
outputSuffix |
(Facoltativo) Il suffisso per i file TFRecord di addestramento, test e convalida. Il valore predefinito è .tfrecord . |
Esecuzione del modello di file TFRecord di BigQuery in Cloud Storage
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the BigQuery to TFRecords template.
- 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/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records \ --region REGION_NAME \ --parameters \ readQuery=READ_QUERY,\ outputDirectory=OUTPUT_DIRECTORY,\ trainingPercentage=TRAINING_PERCENTAGE,\ testingPercentage=TESTING_PERCENTAGE,\ validationPercentage=VALIDATION_PERCENTAGE,\ outputSuffix=OUTPUT_FILENAME_SUFFIX
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
REGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
READ_QUERY
: la query BigQuery da eseguireOUTPUT_DIRECTORY
: il prefisso del percorso di Cloud Storage per i set di dati di outputTRAINING_PERCENTAGE
: la percentuale decimale suddivisa per il set di dati di addestramentoTESTING_PERCENTAGE
: la percentuale decimale suddivisa per il set di dati di testVALIDATION_PERCENTAGE
: la percentuale decimale suddivisa per il set di dati di convalidaOUTPUT_FILENAME_SUFFIX
: il suffisso di file di registrazione TensorFlow preferito
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records { "jobName": "JOB_NAME", "parameters": { "readQuery":"READ_QUERY", "outputDirectory":"OUTPUT_DIRECTORY", "trainingPercentage":"TRAINING_PERCENTAGE", "testingPercentage":"TESTING_PERCENTAGE", "validationPercentage":"VALIDATION_PERCENTAGE", "outputSuffix":"OUTPUT_FILENAME_SUFFIX" }, "environment": { "zone": "us-central1-f" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
LOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
READ_QUERY
: la query BigQuery da eseguireOUTPUT_DIRECTORY
: il prefisso del percorso di Cloud Storage per i set di dati di outputTRAINING_PERCENTAGE
: la percentuale decimale suddivisa per il set di dati di addestramentoTESTING_PERCENTAGE
: la percentuale decimale suddivisa per il set di dati di testVALIDATION_PERCENTAGE
: la percentuale decimale suddivisa per il set di dati di convalidaOUTPUT_FILENAME_SUFFIX
: il suffisso di file di registrazione TensorFlow preferito
Esportazione in BigQuery in Parquet (tramite API Storage)
Il modello BigQuery Export in Parquet è una pipeline batch che legge i dati di una tabella BigQuery e li scrive in un bucket Cloud Storage in formato Parquet. Questo modello utilizza l'API BigQuery Storage per esportare i dati.
Requisiti per questa pipeline:
- La tabella BigQuery di input deve esistere prima dell'esecuzione della pipeline.
- Il bucket Cloud Storage di output deve esistere prima dell'esecuzione della pipeline.
Parametri del modello
Parametro | Descrizione |
---|---|
tableRef |
La posizione della tabella di input di BigQuery. Ad esempio, <my-project>:<my-dataset>.<my-table> . |
bucket |
La cartella Cloud Storage in cui scrivere i file Parquet. Ad esempio, gs://mybucket/exports . |
numShards |
(Facoltativo) Il numero di shard del file di output. Il valore predefinito è 1. |
fields |
(Facoltativo) Un elenco di campi separati da virgole da selezionare nella tabella BigQuery di input. |
Esecuzione del modello Parquet da BigQuery a Cloud Storage
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the BigQuery export to Parquet (via Storage API) template.
- 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 beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/BigQuery_to_Parquet \ --region=REGION_NAME \ --parameters \ tableRef=BIGQUERY_TABLE,\ bucket=OUTPUT_DIRECTORY,\ numShards=NUM_SHARDS,\ fields=FIELDS
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
REGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGQUERY_TABLE
: il nome della tua tabella BigQueryOUTPUT_DIRECTORY
: la tua cartella Cloud Storage per i file di outputNUM_SHARDS
: numero desiderato di shard del file di outputFIELDS
: l'elenco di campi separati da virgole che puoi selezionare dalla tabella BigQuery di input
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "tableRef": "BIGQUERY_TABLE", "bucket": "OUTPUT_DIRECTORY", "numShards": "NUM_SHARDS", "fields": "FIELDS" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/BigQuery_to_Parquet", } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
LOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGQUERY_TABLE
: il nome della tua tabella BigQueryOUTPUT_DIRECTORY
: la tua cartella Cloud Storage per i file di outputNUM_SHARDS
: numero desiderato di shard del file di outputFIELDS
: l'elenco di campi separati da virgole che puoi selezionare dalla tabella BigQuery di input
Da BigQuery a Elasticsearch
Il modello BigQuery in Elasticsearch è una pipeline in modalità batch che importa i dati da una tabella BigQuery a Elasticsearch come documenti. Il modello può leggere l'intera tabella o leggere record specifici utilizzando una query fornita.
Requisiti per questa pipeline
- Deve esistere la tabella BigQuery di origine.
- Un host Elasticsearch su un'istanza Google Cloud o su Elastic Cloud con Elasticsearch versione 7.0 o successiva e deve essere accessibile dalle macchine worker Dataflow.
Parametri del modello
Parametro | Descrizione |
---|---|
connectionUrl |
URL Elasticsearch nel formato https://hostname:[port] o specifica CloudID se utilizzi Elastic Cloud. |
apiKey |
Chiave API codificata in Base64 utilizzata per l'autenticazione. |
index |
L'indice Elasticsearch per il quale verranno inviate le richieste, ad esempio my-index . |
inputTableSpec |
(Facoltativo) Tabella BigQuery da leggere per inserire in Elasticsearch. È necessario indicare la tabella o la query. Ad esempio, projectId:datasetId.tablename . |
query |
(Facoltativo) Query SQL per l'estrazione di dati da BigQuery. È necessario indicare la tabella o la query. |
useLegacySql |
(Facoltativo) Impostalo su vero per utilizzare SQL precedente (applicabile solo se fornisci la query). Valore predefinito: false . |
batchSize |
(Facoltativo) Dimensioni del batch relative al numero di documenti. Valore predefinito: 1000 . |
batchSizeBytes |
(Facoltativo) Dimensioni del batch in numero di byte. Valore predefinito: 5242880 (5 MB). |
maxRetryAttempts |
(Facoltativo) Numero massimo di nuovi tentativi, deve essere maggiore di 0. Valore predefinito: no retries . |
maxRetryDuration |
(Facoltativo) La durata massima dei nuovi tentativi in millisecondi deve essere maggiore o uguale a 0. Valore predefinito: no retries . |
propertyAsIndex |
(Facoltativo) Una proprietà nel documento che viene indicizzata il cui valore specificherà i metadati _index da includere nel documento nella richiesta collettiva (ha la precedenza su un _index UDF). Valore predefinito: nessuno. |
propertyAsId |
(Facoltativo) Una proprietà nel documento che viene indicizzata il cui valore specificherà i metadati _id da includere nel documento nella richiesta collettiva (ha la precedenza su un _id UDF). Valore predefinito: nessuno. |
javaScriptIndexFnGcsPath |
(Facoltativo) Percorso di Cloud Storage dell'origine JavaScript dell'UDF per una funzione che specifica i metadati _index da includere nel documento nella richiesta collettiva. Valore predefinito: nessuno. |
javaScriptIndexFnName |
(Facoltativo) Nome della funzione JavaScript dell'UDF per la funzione che specifica i metadati _index da includere nel documento nella richiesta collettiva. Valore predefinito: nessuno. |
javaScriptIdFnGcsPath |
(Facoltativo) Percorso di Cloud Storage dell'origine JavaScript dell'UDF per una funzione che specifica i metadati _id da includere nel documento nella richiesta collettiva. Valore predefinito: nessuno. |
javaScriptIdFnName |
(Facoltativo) Nome della funzione JavaScript dell'UDF per la funzione che specifica i metadati _id da includere nel documento nella richiesta collettiva. Valore predefinito: nessuno. |
javaScriptTypeFnGcsPath |
(Facoltativo) Percorso di Cloud Storage dell'origine JavaScript dell'UDF per una funzione che specifica i metadati _type da includere nel documento nella richiesta collettiva. Valore predefinito: nessuno. |
javaScriptTypeFnName |
(Facoltativo) Nome della funzione JavaScript dell'UDF per la funzione che specifica i metadati _type da includere nel documento nella richiesta collettiva. Valore predefinito: nessuno. |
javaScriptIsDeleteFnGcsPath |
(Facoltativo) Il percorso Cloud Storage dell'origine UDF JavaScript della funzione che determina se il documento deve essere eliminato anziché inserito o aggiornato. La funzione deve restituire il valore stringa "true" o "false" . Valore predefinito: nessuno. |
javaScriptIsDeleteFnName |
(Facoltativo) Nome della funzione JavaScript di UDF per la funzione che determina se il documento deve essere eliminato anziché inserito o aggiornato. La funzione deve restituire il valore stringa "true" o "false" . Valore predefinito: nessuno. |
usePartialUpdate |
(Facoltativo) Indica se utilizzare aggiornamenti parziali (aggiornare invece di creare o indicizzare i documenti parziali) con le richieste Elasticsearch. Valore predefinito: false . |
bulkInsertMethod |
(Facoltativo) Indica se utilizzare INDEX (indice, possibilità di aumento) o CREATE (creazione, errori su _id duplicato) con richieste collettive Elasticsearch. Valore predefinito: CREATE . |
Esecuzione del modello BigQuery to Elasticsearch
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the BigQuery to Elasticsearch template.
- 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 beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/BigQuery_to_Elasticsearch \ --parameters \ inputTableSpec=INPUT_TABLE_SPEC,\ connectionUrl=CONNECTION_URL,\ apiKey=APIKEY,\ index=INDEX
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaREGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
VERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
INPUT_TABLE_SPEC
: il nome della tabella BigQuery.CONNECTION_URL
: l'URL dell'Elasticsearch.APIKEY
: la chiave API codificata in base64 per l'autenticazione.INDEX
: il tuo indice Elasticsearch.
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "inputTableSpec": "INPUT_TABLE_SPEC", "connectionUrl": "CONNECTION_URL", "apiKey": "APIKEY", "index": "INDEX" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/BigQuery_to_Elasticsearch", } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaLOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
VERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
INPUT_TABLE_SPEC
: il nome della tabella BigQuery.CONNECTION_URL
: l'URL dell'Elasticsearch.APIKEY
: la chiave API codificata in base64 per l'autenticazione.INDEX
: il tuo indice Elasticsearch.
Da BigQuery a MongoDB
Il modello BigQuery in MongoDB è una pipeline batch che legge le righe da BigQuery e le scrive in MongoDB sotto forma di documenti. Attualmente ogni riga viene archiviata come documento.
Requisiti per questa pipeline
- Deve esistere la tabella BigQuery di origine.
- L'istanza MongoDB di destinazione deve essere accessibile dalle macchine worker di Dataflow.
Parametri del modello
Parametro | Descrizione |
---|---|
mongoDbUri |
URI di connessione MongoDB nel formato mongodb+srv://:@ . |
database |
Database in MongoDB per archiviare la raccolta. Ad esempio: my-db . |
collection |
Nome della raccolta nel database MongoDB. Ad esempio: my-collection . |
inputTableSpec |
Tabella BigQuery da cui leggere. Ad esempio, bigquery-project:dataset.input_table . |
Esecuzione del modello BigQuery in MongoDB
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the BigQuery to MongoDB template.
- 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 beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/BigQuery_to_MongoDB \ --parameters \ inputTableSpec=INPUT_TABLE_SPEC,\ mongoDbUri=MONGO_DB_URI,\ database=DATABASE,\ collection=COLLECTION
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaREGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
VERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
INPUT_TABLE_SPEC
: il nome della tabella BigQuery di origine.MONGO_DB_URI
: l'URI MongoDB.DATABASE
: il tuo database MongoDB.COLLECTION
: la tua raccolta MongoDB.
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "inputTableSpec": "INPUT_TABLE_SPEC", "mongoDbUri": "MONGO_DB_URI", "database": "DATABASE", "collection": "COLLECTION" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/BigQuery_to_MongoDB", } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaLOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
VERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
INPUT_TABLE_SPEC
: il nome della tabella BigQuery di origine.MONGO_DB_URI
: l'URI MongoDB.DATABASE
: il tuo database MongoDB.COLLECTION
: la tua raccolta MongoDB.
Avro da Bigtable a Cloud Storage
Il modello Avro da Bigtable a Cloud Storage è una pipeline che legge i dati da una tabella Bigtable e li scrive in un bucket Cloud Storage in formato Avro. Puoi utilizzare il modello per spostare dati da Bigtable a Cloud Storage.
Requisiti per questa pipeline:
- La tabella Bigtable deve esistere.
- Il bucket Cloud Storage di output deve esistere prima dell'esecuzione della pipeline.
Parametri del modello
Parametro | Descrizione |
---|---|
bigtableProjectId |
L'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati. |
bigtableInstanceId |
L'ID dell'istanza Bigtable che contiene la tabella. |
bigtableTableId |
L'ID della tabella Bigtable da esportare. |
outputDirectory |
Percorso di Cloud Storage in cui sono scritti i dati. Ad esempio, gs://mybucket/somefolder . |
filenamePrefix |
Il prefisso del nome file Avro. Ad esempio, output- . |
Esecuzione del modello di file Avro da Bigtable a Cloud Storage
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the Cloud Bigtable to Avro Files on Cloud Storage template .
- 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/VERSION/Cloud_Bigtable_to_GCS_Avro \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ outputDirectory=OUTPUT_DIRECTORY,\ filenamePrefix=FILENAME_PREFIX
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
REGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGTABLE_PROJECT_ID
: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i datiINSTANCE_ID
: l'ID dell'istanza Bigtable che contiene la tabellaTABLE_ID
: l'ID della tabella Bigtable da esportareOUTPUT_DIRECTORY
: percorso di Cloud Storage in cui sono scritti i dati, ad esempiogs://mybucket/somefolder
FILENAME_PREFIX
: il prefisso del nome file di Avro, ad esempiooutput-
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Avro { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "outputDirectory": "OUTPUT_DIRECTORY", "filenamePrefix": "FILENAME_PREFIX", }, "environment": { "zone": "us-central1-f" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
LOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGTABLE_PROJECT_ID
: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i datiINSTANCE_ID
: l'ID dell'istanza Bigtable che contiene la tabellaTABLE_ID
: l'ID della tabella Bigtable da esportareOUTPUT_DIRECTORY
: percorso di Cloud Storage in cui sono scritti i dati, ad esempiogs://mybucket/somefolder
FILENAME_PREFIX
: il prefisso del nome file di Avro, ad esempiooutput-
Parquet da Bigtable a Cloud Storage
Il modello da Bigtable a Cloud Storage è una pipeline che legge i dati da una tabella Bigtable e li scrive in un bucket Cloud Storage in formato Parquet. Puoi utilizzare il modello per spostare dati da Bigtable a Cloud Storage.
Requisiti per questa pipeline:
- La tabella Bigtable deve esistere.
- Il bucket Cloud Storage di output deve esistere prima dell'esecuzione della pipeline.
Parametri del modello
Parametro | Descrizione |
---|---|
bigtableProjectId |
L'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati. |
bigtableInstanceId |
L'ID dell'istanza Bigtable che contiene la tabella. |
bigtableTableId |
L'ID della tabella Bigtable da esportare. |
outputDirectory |
Percorso di Cloud Storage in cui sono scritti i dati. Ad esempio, gs://mybucket/somefolder . |
filenamePrefix |
Il prefisso del nome file Parquet. Ad esempio, output- . |
numShards |
Il numero di shard del file di output. Ad esempio: 2 . |
Esecuzione del modello di file Bigtable da Parquet a Cloud Storage
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the Cloud Bigtable to Parquet Files on Cloud Storage template.
- 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/VERSION/Cloud_Bigtable_to_GCS_Parquet \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ outputDirectory=OUTPUT_DIRECTORY,\ filenamePrefix=FILENAME_PREFIX,\ numShards=NUM_SHARDS
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
REGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGTABLE_PROJECT_ID
: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i datiINSTANCE_ID
: l'ID dell'istanza Bigtable che contiene la tabellaTABLE_ID
: l'ID della tabella Bigtable da esportareOUTPUT_DIRECTORY
: percorso di Cloud Storage in cui sono scritti i dati, ad esempiogs://mybucket/somefolder
FILENAME_PREFIX
: il prefisso del nome file Parquet, ad esempiooutput-
NUM_SHARDS
: il numero di file Parquet da visualizzare, ad esempio1
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Parquet { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "outputDirectory": "OUTPUT_DIRECTORY", "filenamePrefix": "FILENAME_PREFIX", "numShards": "NUM_SHARDS" }, "environment": { "zone": "us-central1-f" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
LOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGTABLE_PROJECT_ID
: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i datiINSTANCE_ID
: l'ID dell'istanza Bigtable che contiene la tabellaTABLE_ID
: l'ID della tabella Bigtable da esportareOUTPUT_DIRECTORY
: percorso di Cloud Storage in cui sono scritti i dati, ad esempiogs://mybucket/somefolder
FILENAME_PREFIX
: il prefisso del nome file Parquet, ad esempiooutput-
NUM_SHARDS
: il numero di file Parquet da visualizzare, ad esempio1
SequenzaFile da Bigtable a Cloud Storage
Il modello quifile da Bigtable a Cloud Storage è una pipeline che legge i dati da una tabella Bigtable e li scrive in un bucket Cloud Storage in formato SequenzaFile. Puoi utilizzare il modello per copiare i dati da Bigtable in Cloud Storage.
Requisiti per questa pipeline:
- La tabella Bigtable deve esistere.
- Il bucket Cloud Storage di output deve esistere prima dell'esecuzione della pipeline.
Parametri del modello
Parametro | Descrizione |
---|---|
bigtableProject |
L'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati. |
bigtableInstanceId |
L'ID dell'istanza Bigtable che contiene la tabella. |
bigtableTableId |
L'ID della tabella Bigtable da esportare. |
bigtableAppProfileId |
L'ID del profilo dell'applicazione Bigtable da utilizzare per l'esportazione. Se non specifichi un profilo app, Bigtable utilizza il profilo app predefinito dell'istanza. |
destinationPath |
Percorso di Cloud Storage in cui sono scritti i dati. Ad esempio, gs://mybucket/somefolder . |
filenamePrefix |
Il prefisso del nome file SequenzaFile. Ad esempio, output- . |
Esecuzione del modello SequenzaFile da Bigtable a Cloud Storage
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the Cloud Bigtable to SequenceFile Files on Cloud Storage template .
- 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/VERSION/Cloud_Bigtable_to_GCS_SequenceFile \ --region REGION_NAME \ --parameters \ bigtableProject=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ bigtableAppProfileId=APPLICATION_PROFILE_ID,\ destinationPath=DESTINATION_PATH,\ filenamePrefix=FILENAME_PREFIX
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
REGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGTABLE_PROJECT_ID
: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i datiINSTANCE_ID
: l'ID dell'istanza Bigtable che contiene la tabellaTABLE_ID
: l'ID della tabella Bigtable da esportareAPPLICATION_PROFILE_ID
: l'ID del profilo dell'applicazione Bigtable da utilizzare per l'esportazioneDESTINATION_PATH
: percorso di Cloud Storage in cui sono scritti i dati, ad esempiogs://mybucket/somefolder
FILENAME_PREFIX
: il prefisso del nome file SequenzaFile, ad esempiooutput-
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile { "jobName": "JOB_NAME", "parameters": { "bigtableProject": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "bigtableAppProfileId": "APPLICATION_PROFILE_ID", "destinationPath": "DESTINATION_PATH", "filenamePrefix": "FILENAME_PREFIX", }, "environment": { "zone": "us-central1-f" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
LOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGTABLE_PROJECT_ID
: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i datiINSTANCE_ID
: l'ID dell'istanza Bigtable che contiene la tabellaTABLE_ID
: l'ID della tabella Bigtable da esportareAPPLICATION_PROFILE_ID
: l'ID del profilo dell'applicazione Bigtable da utilizzare per l'esportazioneDESTINATION_PATH
: percorso di Cloud Storage in cui sono scritti i dati, ad esempiogs://mybucket/somefolder
FILENAME_PREFIX
: il prefisso del nome file SequenzaFile, ad esempiooutput-
Testo da Datastore a Cloud Storage [deprecato]
Questo modello è deprecato e verrà rimosso nel primo trimestre del 2022. Esegui la migrazione al modello Firestore to Cloud Storage Text.
Il modello di testo Datastore da Cloud Storage è una pipeline batch che legge le entità Datastore e le scrive in Cloud Storage come file di testo. Puoi fornire una funzione per elaborare ciascuna entità come stringa JSON. Se non fornisci una tale funzione, ogni riga nel file di output sarà un'entità con serie JSON.
Requisiti per questa pipeline:
Datastore deve essere configurato nel progetto prima di eseguire la pipeline.
Parametri del modello
Parametro | Descrizione |
---|---|
datastoreReadGqlQuery |
Una query GQL che specifica quali entità acquisire. Ad esempio, SELECT * FROM MyKind . |
datastoreReadProjectId |
L'ID del progetto Google Cloud dell'istanza Datastore da cui vuoi leggere i dati. |
datastoreReadNamespace |
Lo spazio dei nomi delle entità richieste. Per utilizzare lo spazio dei nomi predefinito, lascia vuoto questo parametro. |
javascriptTextTransformGcsPath |
(Facoltativo)
L'URI Cloud Storage del file .js che definisce la funzione definita dall'utente JavaScript (UDF) che vuoi utilizzare. Ad esempio: gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
(Facoltativo)
Il nome della funzione definita dall'utente JavaScript che vuoi utilizzare.
Ad esempio, se il codice della funzione JavaScript è myTransform(inJson) { /*...do stuff...*/ } , il nome della funzione è myTransform . Per un esempio di UDF JavaScript, consulta
Esempi di funzioni UDF.
|
textWritePrefix |
Il prefisso del percorso di Cloud Storage per specificare dove sono scritti i dati. Ad esempio: gs://mybucket/somefolder/ . |
Esecuzione del modello di testo da Datastore a Cloud Storage
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the Datastore to Text Files on Cloud Storage template.
- 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/VERSION/Datastore_to_GCS_Text \ --region REGION_NAME \ --parameters \ datastoreReadGqlQuery="SELECT * FROM DATASTORE_KIND",\ datastoreReadProjectId=DATASTORE_PROJECT_ID,\ datastoreReadNamespace=DATASTORE_NAMESPACE,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ textWritePrefix=gs://BUCKET_NAME/output/
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaREGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
VERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
BUCKET_NAME
: nome del bucket Cloud StorageDATASTORE_PROJECT_ID
: l'ID del progetto Cloud in cui esiste l'istanza di DatastoreDATASTORE_KIND
: tipo di entità dei DatastoreDATASTORE_NAMESPACE
: lo spazio dei nomi delle entità DatastoreJAVASCRIPT_FUNCTION
: Il nome della funzione definita dall'utente JavaScript che vuoi utilizzareAd esempio, se il codice della funzione JavaScript è
myTransform(inJson) { /*...do stuff...*/ }
, il nome della funzione èmyTransform
. Per un esempio di UDF JavaScript, consulta Esempi di funzioni UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: l'URI Cloud Storage del file.js
che definisce la funzione definita dall'utente JavaScript (UDF) che vuoi utilizzare, ad esempiogs://my-bucket/my-udfs/my_file.js
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Datastore_to_GCS_Text { "jobName": "JOB_NAME", "parameters": { "datastoreReadGqlQuery": "SELECT * FROM DATASTORE_KIND" "datastoreReadProjectId": "DATASTORE_PROJECT_ID", "datastoreReadNamespace": "DATASTORE_NAMESPACE", "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE", "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION", "textWritePrefix": "gs://BUCKET_NAME/output/" }, "environment": { "zone": "us-central1-f" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaLOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
VERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
BUCKET_NAME
: nome del bucket Cloud StorageDATASTORE_PROJECT_ID
: l'ID del progetto Cloud in cui esiste l'istanza di DatastoreDATASTORE_KIND
: tipo di entità dei DatastoreDATASTORE_NAMESPACE
: lo spazio dei nomi delle entità DatastoreJAVASCRIPT_FUNCTION
: Il nome della funzione definita dall'utente JavaScript che vuoi utilizzareAd esempio, se il codice della funzione JavaScript è
myTransform(inJson) { /*...do stuff...*/ }
, il nome della funzione èmyTransform
. Per un esempio di UDF JavaScript, consulta Esempi di funzioni UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: l'URI Cloud Storage del file.js
che definisce la funzione definita dall'utente JavaScript (UDF) che vuoi utilizzare, ad esempiogs://my-bucket/my-udfs/my_file.js
Da Firestore a Cloud Storage
Il modello Firestore to Cloud Storage Text è una pipeline batch che legge le entità Firestore e le scrive in Cloud Storage sotto forma di file di testo. Puoi fornire una funzione per elaborare ciascuna entità come stringa JSON. Se non fornisci una tale funzione, ogni riga nel file di output sarà un'entità con serie JSON.
Requisiti per questa pipeline:
Firestore deve essere configurato nel progetto prima di eseguire la pipeline.
Parametri del modello
Parametro | Descrizione |
---|---|
firestoreReadGqlQuery |
Una query GQL che specifica quali entità acquisire. Ad esempio, SELECT * FROM MyKind . |
firestoreReadProjectId |
L'ID del progetto Google Cloud dell'istanza Firestore da cui vuoi leggere i dati. |
firestoreReadNamespace |
Lo spazio dei nomi delle entità richieste. Per utilizzare lo spazio dei nomi predefinito, lascia vuoto questo parametro. |
javascriptTextTransformGcsPath |
(Facoltativo)
L'URI Cloud Storage del file .js che definisce la funzione definita dall'utente JavaScript (UDF) che vuoi utilizzare. Ad esempio: gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
(Facoltativo)
Il nome della funzione definita dall'utente JavaScript che vuoi utilizzare.
Ad esempio, se il codice della funzione JavaScript è myTransform(inJson) { /*...do stuff...*/ } , il nome della funzione è myTransform . Per un esempio di UDF JavaScript, consulta
Esempi di funzioni UDF.
|
textWritePrefix |
Il prefisso del percorso di Cloud Storage per specificare dove sono scritti i dati. Ad esempio: gs://mybucket/somefolder/ . |
Esecuzione del modello di testo da Firestore a Cloud Storage
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the Firestore to Text Files on Cloud Storage template.
- 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/VERSION/Firestore_to_GCS_Text \ --region REGION_NAME \ --parameters \ firestoreReadGqlQuery="SELECT * FROM FIRESTORE_KIND",\ firestoreReadProjectId=FIRESTORE_PROJECT_ID,\ firestoreReadNamespace=FIRESTORE_NAMESPACE,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ textWritePrefix=gs://BUCKET_NAME/output/
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaREGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
VERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
BUCKET_NAME
: nome del bucket Cloud StorageFIRESTORE_PROJECT_ID
: l'ID del progetto Cloud in cui esiste l'istanza di FirestoreFIRESTORE_KIND
: tipo di entità FirestoreFIRESTORE_NAMESPACE
: lo spazio dei nomi delle tue entità FirestoreJAVASCRIPT_FUNCTION
: Il nome della funzione definita dall'utente JavaScript che vuoi utilizzareAd esempio, se il codice della funzione JavaScript è
myTransform(inJson) { /*...do stuff...*/ }
, il nome della funzione èmyTransform
. Per un esempio di UDF JavaScript, consulta Esempi di funzioni UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: l'URI Cloud Storage del file.js
che definisce la funzione definita dall'utente JavaScript (UDF) che vuoi utilizzare, ad esempiogs://my-bucket/my-udfs/my_file.js
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Firestore_to_GCS_Text { "jobName": "JOB_NAME", "parameters": { "firestoreReadGqlQuery": "SELECT * FROM FIRESTORE_KIND" "firestoreReadProjectId": "FIRESTORE_PROJECT_ID", "firestoreReadNamespace": "FIRESTORE_NAMESPACE", "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE", "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION", "textWritePrefix": "gs://BUCKET_NAME/output/" }, "environment": { "zone": "us-central1-f" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaLOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
VERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
BUCKET_NAME
: nome del bucket Cloud StorageFIRESTORE_PROJECT_ID
: l'ID del progetto Cloud in cui esiste l'istanza di FirestoreFIRESTORE_KIND
: tipo di entità FirestoreFIRESTORE_NAMESPACE
: lo spazio dei nomi delle tue entità FirestoreJAVASCRIPT_FUNCTION
: Il nome della funzione definita dall'utente JavaScript che vuoi utilizzareAd esempio, se il codice della funzione JavaScript è
myTransform(inJson) { /*...do stuff...*/ }
, il nome della funzione èmyTransform
. Per un esempio di UDF JavaScript, consulta Esempi di funzioni UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: l'URI Cloud Storage del file.js
che definisce la funzione definita dall'utente JavaScript (UDF) che vuoi utilizzare, ad esempiogs://my-bucket/my-udfs/my_file.js
Da Cloud Spanner a Cloud Storage Avro
Il modello da Cloud Spanner ad Avro Files su Cloud Storage è una pipeline batch che esporta un intero database Cloud Spanner in Cloud Storage in formato Avro. L'esportazione di un database Cloud Spanner crea una cartella nel bucket selezionato. La cartella contiene:
- Un file
spanner-export.json
. - Un file
TableName-manifest.json
per ogni tabella nel database che hai esportato. - Uno o più file
TableName.avro-#####-of-#####
.
Ad esempio, l'esportazione di un database con due tabelle, Singers
e Albums
,
crea il seguente set di file:
Albums-manifest.json
Albums.avro-00000-of-00002
Albums.avro-00001-of-00002
Singers-manifest.json
Singers.avro-00000-of-00003
Singers.avro-00001-of-00003
Singers.avro-00002-of-00003
spanner-export.json
Requisiti per questa pipeline:
- Deve esistere il database Cloud Spanner.
- Deve esistere il bucket Cloud Storage di output.
- Oltre ai ruoli IAM necessari per eseguire i job Dataflow, devi disporre anche dei ruoli IAM appropriati per la lettura dei dati di Cloud Spanner e la scrittura nel bucket Cloud Storage.
Parametri del modello
Parametro | Descrizione | |
---|---|---|
instanceId |
L'ID istanza del database Cloud Spanner che vuoi esportare. | |
databaseId |
L'ID del database Cloud Spanner che vuoi esportare. | |
outputDir |
Il percorso di Cloud Storage in cui vuoi esportare i file Avro. Il job di esportazione crea una nuova directory in questo percorso contenente i file esportati. | |
snapshotTime |
(Facoltativo) Il timestamp corrispondente alla versione del database Cloud Spanner che vuoi leggere. Il timestamp deve essere specificato in base al formato "Zulu" RFC 3339.
Ad esempio, 1990-12-31T23:59:60Z . Il timestamp deve essere passato e deve essere applicata la
precedenza massima
del timestamp. |
|
tableNames |
(Facoltativo) Un elenco di tabelle separate da virgole che specifica il sottoinsieme del database Cloud Spanner da esportare. L'elenco deve includere tutte le tabelle correlate (tabelle principali, tabelle di riferimento delle chiavi esterne). Se non sono elencati in modo esplicito, il flag " shouldExportrelatedTables" deve essere impostato per una corretta esportazione. | |
shouldExportRelatedTables |
(Facoltativo) Il flag utilizzato in combinazione con il parametro "tableNames" per includere tutte le tabelle correlate da esportare. | |
spannerProjectId |
(Facoltativo) L'ID progetto Google Cloud del database Cloud Spanner da cui vuoi leggere i dati. |
Esecuzione di Cloud Spanner in un file Avro Files on Cloud Storage
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
Affinché il job venga visualizzato nella pagina Istanze di Spanner della console Google Cloud, il nome del job deve corrispondere al seguente formato:
cloud-spanner-export-SPANNER_INSTANCE_ID-SPANNER_DATABASE_NAME
Sostituisci quanto segue:
SPANNER_INSTANCE_ID
: ID della tua istanza SpannerSPANNER_DATABASE_NAME
: nome del database Spanner
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the Cloud Spanner to Avro Files on Cloud Storage template.
- 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/VERSION/Cloud_Spanner_to_GCS_Avro \ --region REGION_NAME \ --staging-location GCS_STAGING_LOCATION \ --parameters \ instanceId=INSTANCE_ID,\ databaseId=DATABASE_ID,\ outputDir=GCS_DIRECTORY
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaAffinché il job venga visualizzato nella parte Cloud Spanner della console Google Cloud, il nome del job deve corrispondere al formato
cloud-spanner-export-INSTANCE_ID-DATABASE_ID
.VERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
REGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
GCS_STAGING_LOCATION
: il percorso di scrittura dei file temporanei, ad esempiogs://mybucket/temp
INSTANCE_ID
: il tuo ID istanza di Cloud SpannerDATABASE_ID
: il tuo ID database di Cloud SpannerGCS_DIRECTORY
: il percorso di Cloud Storage da cui i file Avro vengono esportati in
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro { "jobName": "JOB_NAME", "parameters": { "instanceId": "INSTANCE_ID", "databaseId": "DATABASE_ID", "outputDir": "gs://GCS_DIRECTORY" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaAffinché il job venga visualizzato nella parte Cloud Spanner della console Google Cloud, il nome del job deve corrispondere al formato
cloud-spanner-export-INSTANCE_ID-DATABASE_ID
.VERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
LOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
GCS_STAGING_LOCATION
: il percorso di scrittura dei file temporanei, ad esempiogs://mybucket/temp
INSTANCE_ID
: il tuo ID istanza di Cloud SpannerDATABASE_ID
: il tuo ID database di Cloud SpannerGCS_DIRECTORY
: il percorso di Cloud Storage da cui i file Avro vengono esportati in
Testo da Cloud Spanner a Cloud Storage
Il modello Cloud Spanner to Cloud Storage Text è una pipeline batch che legge i dati di una tabella Cloud Spanner e li scrive in Cloud Storage sotto forma di file di testo CSV.
Requisiti per questa pipeline:
- La tabella Spanner di input deve esistere prima dell'esecuzione della pipeline.
Parametri del modello
Parametro | Descrizione |
---|---|
spannerProjectId |
L'ID progetto Google Cloud del database Cloud Spanner da cui vuoi leggere i dati. |
spannerDatabaseId |
L'ID database della tabella richiesta. |
spannerInstanceId |
L'ID istanza della tabella richiesta. |
spannerTable |
La tabella da cui leggere i dati. |
textWritePrefix |
La directory in cui vengono scritti i file di testo di output. Aggiungi / alla fine. Ad esempio: gs://mybucket/somefolder/ . |
spannerSnapshotTime |
(Facoltativo) Il timestamp corrispondente alla versione del database Cloud Spanner che vuoi leggere. Il timestamp deve essere specificato in base al formato "Zulu" RFC 3339.
Ad esempio, 1990-12-31T23:59:60Z . Il timestamp deve essere passato e deve essere applicata la
precedenza massima
del timestamp. |
Esecuzione del modello di testo da Cloud Spanner a Cloud Storage
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the Cloud Spanner to Text Files on Cloud Storage template.
- 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/VERSION/Spanner_to_GCS_Text \ --region REGION_NAME \ --parameters \ spannerProjectId=SPANNER_PROJECT_ID,\ spannerDatabaseId=DATABASE_ID,\ spannerInstanceId=INSTANCE_ID,\ spannerTable=TABLE_ID,\ textWritePrefix=gs://BUCKET_NAME/output/
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
REGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
SPANNER_PROJECT_ID
: l'ID del progetto Cloud del database Spanner da cui vuoi leggere i datiDATABASE_ID
: l'ID del database SpannerBUCKET_NAME
: nome del bucket Cloud StorageINSTANCE_ID
: l'ID istanza di SpannerTABLE_ID
: l'ID della tabella Spanner
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Spanner_to_GCS_Text { "jobName": "JOB_NAME", "parameters": { "spannerProjectId": "SPANNER_PROJECT_ID", "spannerDatabaseId": "DATABASE_ID", "spannerInstanceId": "INSTANCE_ID", "spannerTable": "TABLE_ID", "textWritePrefix": "gs://BUCKET_NAME/output/" }, "environment": { "zone": "us-central1-f" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
LOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
SPANNER_PROJECT_ID
: l'ID del progetto Cloud del database Spanner da cui vuoi leggere i datiDATABASE_ID
: l'ID del database SpannerBUCKET_NAME
: nome del bucket Cloud StorageINSTANCE_ID
: l'ID istanza di SpannerTABLE_ID
: l'ID della tabella Spanner
Da Cloud Storage Avro a Bigtable
Il modello Cloud Storage Avro to Bigtable è una pipeline che legge i dati dai file Avro in un bucket Cloud Storage e li scrive in una tabella Bigtable. Puoi utilizzare il modello per copiare i dati da Cloud Storage in Bigtable.
Requisiti per questa pipeline:
- La tabella Bigtable deve esistere e avere le stesse famiglie di colonne esportate nei file Avro.
- I file Avro di input devono esistere in un bucket Cloud Storage prima di eseguire la pipeline.
- Bigtable prevede uno schema specifico dai file Avro di input.
Parametri del modello
Parametro | Descrizione |
---|---|
bigtableProjectId |
L'ID del progetto Google Cloud dell'istanza Bigtable in cui vuoi scrivere i dati. |
bigtableInstanceId |
L'ID dell'istanza Bigtable che contiene la tabella. |
bigtableTableId |
L'ID della tabella Bigtable da importare. |
inputFilePattern |
Il pattern del percorso di Cloud Storage in cui si trovano i dati. Ad esempio, gs://mybucket/somefolder/prefix* . |
Esecuzione del file Avro di Cloud Storage nel modello Bigtable
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the Avro Files on Cloud Storage to Cloud Bigtable template.
- 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/VERSION/GCS_Avro_to_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ inputFilePattern=INPUT_FILE_PATTERN
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
REGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGTABLE_PROJECT_ID
: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i datiINSTANCE_ID
: l'ID dell'istanza Bigtable che contiene la tabellaTABLE_ID
: l'ID della tabella Bigtable da esportareINPUT_FILE_PATTERN
: pattern del percorso di Cloud Storage in cui si trovano i dati, ad esempiogs://mybucket/somefolder/prefix*
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "inputFilePattern": "INPUT_FILE_PATTERN", }, "environment": { "zone": "us-central1-f" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
LOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGTABLE_PROJECT_ID
: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i datiINSTANCE_ID
: l'ID dell'istanza Bigtable che contiene la tabellaTABLE_ID
: l'ID della tabella Bigtable da esportareINPUT_FILE_PATTERN
: pattern del percorso di Cloud Storage in cui si trovano i dati, ad esempiogs://mybucket/somefolder/prefix*
Da Cloud Storage Avro a Cloud Spanner
I file Avro di Cloud Storage nel modello Cloud Spanner sono una pipeline batch che legge i file Avro da Cloud Spanner archiviati in Cloud Storage e li importa in un database Cloud Spanner.
Requisiti per questa pipeline:
- Il database Cloud Spanner di destinazione deve esistere e deve essere vuoto.
- Devi avere le autorizzazioni di lettura per il bucket Cloud Storage e le autorizzazioni di scrittura per il database Cloud Spanner di destinazione.
- Il percorso di Cloud Storage di input deve esistere e deve includere un file
spanner-export.json
contenente una descrizione JSON dei file da importare.
Parametri del modello
Parametro | Descrizione |
---|---|
instanceId |
L'ID istanza del database Cloud Spanner. |
databaseId |
L'ID del database Cloud Spanner. |
inputDir |
Percorso di Cloud Storage da cui vengono importati i file Avro. |
Esecuzione del modello Avro in Cloud Spanner da Cloud Storage
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
Affinché il job venga visualizzato nella pagina Istanze di Spanner della console Google Cloud, il nome del job deve corrispondere al seguente formato:
cloud-spanner-import-SPANNER_INSTANCE_ID-SPANNER_DATABASE_NAME
Sostituisci quanto segue:
SPANNER_INSTANCE_ID
: ID della tua istanza SpannerSPANNER_DATABASE_NAME
: nome del database Spanner
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the Avro Files on Cloud Storage to Cloud Spanner template.
- 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/VERSION/GCS_Avro_to_Cloud_Spanner \ --region REGION_NAME \ --staging-location GCS_STAGING_LOCATION \ --parameters \ instanceId=INSTANCE_ID,\ databaseId=DATABASE_ID,\ inputDir=GCS_DIRECTORY
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
REGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
INSTANCE_ID
: l'ID dell'istanza Spanner che contiene il databaseDATABASE_ID
: l'ID del database Spanner in cui eseguire l'importazioneGCS_DIRECTORY
: il percorso di Cloud Storage da cui vengono importati i file Avro, ad esempiogs://mybucket/somefolder
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner { "jobName": "JOB_NAME", "parameters": { "instanceId": "INSTANCE_ID", "databaseId": "DATABASE_ID", "inputDir": "gs://GCS_DIRECTORY" }, "environment": { "machineType": "n1-standard-2" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
LOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
INSTANCE_ID
: l'ID dell'istanza Spanner che contiene il databaseDATABASE_ID
: l'ID del database Spanner in cui eseguire l'importazioneGCS_DIRECTORY
: il percorso di Cloud Storage da cui vengono importati i file Avro, ad esempiogs://mybucket/somefolder
Da Cloud Storage Parquet a Bigtable
Il modello da spazio di archiviazione Cloud Storage a Bigtable è una pipeline che legge i dati dai file Parquet in un bucket Cloud Storage e li scrive in una tabella Bigtable. Puoi utilizzare il modello per copiare i dati da Cloud Storage in Bigtable.
Requisiti per questa pipeline:
- La tabella Bigtable deve esistere e avere le stesse famiglie di colonne esportate nei file Parquet.
- I file Parquet di input devono esistere in un bucket Cloud Storage prima di eseguire la pipeline.
- Bigtable prevede uno schema specifico dai file Parquet di input.
Parametri del modello
Parametro | Descrizione |
---|---|
bigtableProjectId |
L'ID del progetto Google Cloud dell'istanza Bigtable in cui vuoi scrivere i dati. |
bigtableInstanceId |
L'ID dell'istanza Bigtable che contiene la tabella. |
bigtableTableId |
L'ID della tabella Bigtable da importare. |
inputFilePattern |
Il pattern del percorso di Cloud Storage in cui si trovano i dati. Ad esempio, gs://mybucket/somefolder/prefix* . |
Esecuzione del file Parquet di Cloud Storage in base al modello Bigtable
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the Parquet Files on Cloud Storage to Cloud Bigtable template.
- 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/VERSION/GCS_Parquet_to_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ inputFilePattern=INPUT_FILE_PATTERN
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
REGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGTABLE_PROJECT_ID
: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i datiINSTANCE_ID
: l'ID dell'istanza Bigtable che contiene la tabellaTABLE_ID
: l'ID della tabella Bigtable da esportareINPUT_FILE_PATTERN
: pattern del percorso di Cloud Storage in cui si trovano i dati, ad esempiogs://mybucket/somefolder/prefix*
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Parquet_to_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "inputFilePattern": "INPUT_FILE_PATTERN", }, "environment": { "zone": "us-central1-f" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
LOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGTABLE_PROJECT_ID
: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i datiINSTANCE_ID
: l'ID dell'istanza Bigtable che contiene la tabellaTABLE_ID
: l'ID della tabella Bigtable da esportareINPUT_FILE_PATTERN
: pattern del percorso di Cloud Storage in cui si trovano i dati, ad esempiogs://mybucket/somefolder/prefix*
SequenzaFile di Cloud Storage in Bigtable
Il modello SequenzaFile di Cloud Storage in Bigtable è una pipeline che legge i dati da SecondsFile in un bucket Cloud Storage e scrive i dati in una tabella Bigtable. Puoi utilizzare il modello per copiare i dati da Cloud Storage in Bigtable.
Requisiti per questa pipeline:
- La tabella Bigtable deve esistere.
- Il SequenzaFile di input deve esistere in un bucket Cloud Storage prima di eseguire la pipeline.
- Il file di sequenza di input deve essere stato esportato da Bigtable o HBase.
Parametri del modello
Parametro | Descrizione |
---|---|
bigtableProject |
L'ID del progetto Google Cloud dell'istanza Bigtable in cui vuoi scrivere i dati. |
bigtableInstanceId |
L'ID dell'istanza Bigtable che contiene la tabella. |
bigtableTableId |
L'ID della tabella Bigtable da importare. |
bigtableAppProfileId |
L'ID del profilo dell'applicazione Bigtable da utilizzare per l'importazione. Se non specifichi un profilo app, Bigtable utilizza il profilo app predefinito dell'istanza. |
sourcePattern |
Il pattern del percorso di Cloud Storage in cui si trovano i dati. Ad esempio, gs://mybucket/somefolder/prefix* . |
Esecuzione del modello SequenzaFile di Cloud Storage in Bigtable
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the SequenceFile Files on Cloud Storage to Cloud Bigtable template.
- 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/VERSION/GCS_SequenceFile_to_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProject=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ bigtableAppProfileId=APPLICATION_PROFILE_ID,\ sourcePattern=SOURCE_PATTERN
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
REGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGTABLE_PROJECT_ID
: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i datiINSTANCE_ID
: l'ID dell'istanza Bigtable che contiene la tabellaTABLE_ID
: l'ID della tabella Bigtable da esportareAPPLICATION_PROFILE_ID
: l'ID del profilo dell'applicazione Bigtable da utilizzare per l'esportazioneSOURCE_PATTERN
: pattern del percorso di Cloud Storage in cui si trovano i dati, ad esempiogs://mybucket/somefolder/prefix*
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProject": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "bigtableAppProfileId": "APPLICATION_PROFILE_ID", "sourcePattern": "SOURCE_PATTERN", }, "environment": { "zone": "us-central1-f" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
LOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
BIGTABLE_PROJECT_ID
: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i datiINSTANCE_ID
: l'ID dell'istanza Bigtable che contiene la tabellaTABLE_ID
: l'ID della tabella Bigtable da esportareAPPLICATION_PROFILE_ID
: l'ID del profilo dell'applicazione Bigtable da utilizzare per l'esportazioneSOURCE_PATTERN
: pattern del percorso di Cloud Storage in cui si trovano i dati, ad esempiogs://mybucket/somefolder/prefix*
Testo di Cloud Storage in BigQuery
La pipeline Cloud Text Text to BigQuery è una pipeline batch che ti consente di leggere i file di testo archiviati in Cloud Storage, trasformarli utilizzando una funzione definita dall'utente JavaScript (UDF) da te fornita e aggiungere il risultato a una tabella BigQuery.
Requisiti per questa pipeline:
- Crea un file JSON che descriva lo schema BigQuery.
Assicurati che esista un array JSON di primo livello denominato
BigQuery Schema
e che i suoi contenuti seguano il pattern{"name": "COLUMN_NAME", "type": "DATA_TYPE"}
.Il modello batch di Cloud Storage per il testo in BigQuery non supporta l'importazione di dati nei campi
STRUCT
(record) della tabella BigQuery di destinazione.Il seguente JSON descrive uno schema BigQuery di esempio:
{ "BigQuery Schema": [ { "name": "location", "type": "STRING" }, { "name": "name", "type": "STRING" }, { "name": "age", "type": "STRING" }, { "name": "color", "type": "STRING" }, { "name": "coffee", "type": "STRING" } ] }
- Crea un file JavaScript (
.js
) con la funzione UDF che fornisca la logica per trasformare le righe di testo. La funzione deve restituire una stringa JSON.Ad esempio, questa funzione suddivide ogni riga di un file CSV e restituisce una stringa JSON dopo aver trasformato i valori.
function transform(line) { var values = line.split(','); var obj = new Object(); obj.location = values[0]; obj.name = values[1]; obj.age = values[2]; obj.color = values[3]; obj.coffee = values[4]; var jsonString = JSON.stringify(obj); return jsonString; }
Parametri del modello
Parametro | Descrizione |
---|---|
javascriptTextTransformFunctionName |
Il nome della funzione JavaScript definita dall'utente (UDF) che vuoi utilizzare.
Ad esempio, se il codice della funzione JavaScript è myTransform(inJson) { /*...do stuff...*/ } , il nome della funzione è myTransform . Per un esempio di UDF JavaScript, consulta
Esempi di funzioni UDF.
|
JSONPath |
Il percorso gs:// al file JSON che definisce lo schema BigQuery, archiviato in Cloud Storage. Ad esempio, gs://path/to/my/schema.json . |
javascriptTextTransformGcsPath |
L'URI Cloud Storage del file .js che definisce la funzione definita dall'utente JavaScript (UDF) che vuoi utilizzare. Ad esempio: gs://my-bucket/my-udfs/my_file.js .
|
inputFilePattern |
Il percorso gs:// che rimanda al testo in Cloud Storage che vuoi elaborare. Ad
esempio, gs://path/to/my/text/data.txt . |
outputTable |
Il nome della tabella BigQuery in cui vuoi creare un archivio per i dati elaborati.
Se riutilizzi una tabella BigQuery esistente, i dati vengono aggiunti alla tabella di destinazione.
Ad esempio, my-project-name:my-dataset.my-table . |
bigQueryLoadingTemporaryDirectory |
La directory temporanea per il processo di caricamento di BigQuery.
Ad esempio, gs://my-bucket/my-files/temp_dir . |
Esecuzione del modello Cloud Storage Text to BigQuery
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the Text Files on Cloud Storage to BigQuery (Batch) template.
- 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/VERSION/GCS_Text_to_BigQuery \ --region REGION_NAME \ --parameters \ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ JSONPath=PATH_TO_BIGQUERY_SCHEMA_JSON,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ inputFilePattern=PATH_TO_TEXT_DATA,\ outputTable=BIGQUERY_TABLE,\ bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
REGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
JAVASCRIPT_FUNCTION
: Il nome della funzione definita dall'utente JavaScript che vuoi utilizzareAd esempio, se il codice della funzione JavaScript è
myTransform(inJson) { /*...do stuff...*/ }
, il nome della funzione èmyTransform
. Per un esempio di UDF JavaScript, consulta Esempi di funzioni UDF.PATH_TO_BIGQUERY_SCHEMA_JSON
: il percorso di Cloud Storage del file JSON contenente la definizione dello schemaPATH_TO_JAVASCRIPT_UDF_FILE
: l'URI Cloud Storage del file.js
che definisce la funzione definita dall'utente JavaScript (UDF) che vuoi utilizzare, ad esempiogs://my-bucket/my-udfs/my_file.js
PATH_TO_TEXT_DATA
: il tuo percorso di Cloud Storage verso il tuo set di dati di testoBIGQUERY_TABLE
: il nome della tua tabella BigQueryPATH_TO_TEMP_DIR_ON_GCS
: il tuo percorso di Cloud Storage nella directory temporanea
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery { "jobName": "JOB_NAME", "parameters": { "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION", "JSONPath": "PATH_TO_BIGQUERY_SCHEMA_JSON", "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE", "inputFilePattern":"PATH_TO_TEXT_DATA", "outputTable":"BIGQUERY_TABLE", "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS" }, "environment": { "zone": "us-central1-f" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
LOCATION
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
JAVASCRIPT_FUNCTION
: Il nome della funzione definita dall'utente JavaScript che vuoi utilizzareAd esempio, se il codice della funzione JavaScript è
myTransform(inJson) { /*...do stuff...*/ }
, il nome della funzione èmyTransform
. Per un esempio di UDF JavaScript, consulta Esempi di funzioni UDF.PATH_TO_BIGQUERY_SCHEMA_JSON
: il percorso di Cloud Storage del file JSON contenente la definizione dello schemaPATH_TO_JAVASCRIPT_UDF_FILE
: l'URI Cloud Storage del file.js
che definisce la funzione definita dall'utente JavaScript (UDF) che vuoi utilizzare, ad esempiogs://my-bucket/my-udfs/my_file.js
PATH_TO_TEXT_DATA
: il tuo percorso di Cloud Storage verso il tuo set di dati di testoBIGQUERY_TABLE
: il nome della tua tabella BigQueryPATH_TO_TEMP_DIR_ON_GCS
: il tuo percorso di Cloud Storage nella directory temporanea
Testo di Cloud Storage in Datastore [deprecato]
Questo modello è deprecato e verrà rimosso nel primo trimestre del 2022. Esegui la migrazione al modello Cloud Storage Text to Firestore.
Il modello Cloud Storage Text to Datastore è una pipeline batch che legge dai file di testo archiviati in Cloud Storage e scrive le entità con codifica JSON in Datastore. Ogni riga nei file di testo di input deve essere nel formato JSON specificato.
Requisiti per questa pipeline:
- Datastore deve essere abilitato nel progetto di destinazione.
Parametri del modello
Parametro | Descrizione |
---|---|
textReadPattern |
Un pattern del percorso Cloud Storage che specifica la posizione dei file di dati di testo.
Ad esempio, gs://mybucket/somepath/*.json . |
javascriptTextTransformGcsPath |
(Facoltativo)
L'URI Cloud Storage del file .js che definisce la funzione definita dall'utente JavaScript (UDF) che vuoi utilizzare. Ad esempio: gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
(Facoltativo)
Il nome della funzione definita dall'utente JavaScript che vuoi utilizzare.
Ad esempio, se il codice della funzione JavaScript è myTransform(inJson) { /*...do stuff...*/ } , il nome della funzione è myTransform . Per un esempio di UDF JavaScript, consulta
Esempi di funzioni UDF.
|
datastoreWriteProjectId |
L'ID del progetto Google Cloud di dove scrivere le entità Datastore |
datastoreHintNumWorkers |
(Facoltativo) Suggerimento per il numero previsto di worker nel passaggio di limitazione del datastore. Il valore predefinito è 500 . |
errorWritePath |
Il file di output del log degli errori da utilizzare per gli errori di scrittura che si verificano durante l'elaborazione. Ad
esempio, gs://bucket-name/errors.txt . |
Esecuzione del modello Cloud Storage Text to Datastore
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. L'endpoint della regione predefinito è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta le località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona the Text Files on Cloud Storage to Datastore template.
- 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/VERSION/GCS_Text_to_Datastore \ --region REGION_NAME \ --parameters \ textReadPattern=PATH_TO_INPUT_TEXT_FILES,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ datastoreWriteProjectId=PROJECT_ID,\ errorWritePath=ERROR_FILE_WRITE_PATH
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates/latest/- Il nome della versione, come
2021-09-20-00_RC00
, per utilizzare una versione specifica del modello, che può essere nidificata nella rispettiva cartella padre con data nel bucket: gs://dataflow-templates/
REGION_NAME
: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempious-central1
PATH_TO_INPUT_TEXT_FILES
: pattern dei file di input su Cloud StorageJAVASCRIPT_FUNCTION
: Il nome della funzione definita dall'utente JavaScript che vuoi utilizzareAd esempio, se il codice della funzione JavaScript è
myTransform(inJson) { /*...do stuff...*/ }
, il nome della funzione èmyTransform
. Per un esempio di UDF JavaScript, consulta Esempi di funzioni UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: l'URI Cloud Storage del file.js
che definisce la funzione definita dall'utente JavaScript (UDF) che vuoi utilizzare, ad esempiogs://my-bucket/my-udfs/my_file.js
ERROR_FILE_WRITE_PATH
: percorso verso il file di errore su Cloud Storage
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni
sull'API e sui suoi ambiti di autorizzazione, consulta
projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Text_to_Datastore { "jobName": "JOB_NAME", "parameters": { "textReadPattern": "PATH_TO_INPUT_TEXT_FILES", "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE", "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION", "datastoreWriteProjectId": "PROJECT_ID", "errorWritePath": "ERROR_FILE_WRITE_PATH" }, "environment": { "zone": "us-central1-f" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Cloud in cui vuoi es