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 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
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
Testo di Cloud Storage in Firestore
Il modello Cloud Storage Text to Firestore è una pipeline batch che legge da file di testo archiviati in Cloud Storage e scrive le entità con codifica JSON in Firestore. Ogni riga nei file di testo di input deve essere nel formato JSON specificato.
Requisiti per questa pipeline:
- Firestore 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.
|
firestoreWriteProjectId |
L'ID del progetto Google Cloud di dove scrivere le entità Firestore |
firestoreHintNumWorkers |
(Facoltativo) Suggerimento per il numero previsto di worker nel passaggio di limitazione dell'applicazione graduale di Firestore. 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 Firestore
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 Firestore 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_Firestore \ --region REGION_NAME \ --parameters \ textReadPattern=PATH_TO_INPUT_TEXT_FILES,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ firestoreWriteProjectId=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_Firestore { "jobName": "JOB_NAME", "parameters": { "textReadPattern": "PATH_TO_INPUT_TEXT_FILES", "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE", "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION", "firestoreWriteProjectId": "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 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
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
Testo Cloud Storage in Pub/Sub (batch)
Questo modello crea una pipeline batch che legge i record dai file di testo archiviati in Cloud Storage e li pubblica in un argomento Pub/Sub. Il modello può essere utilizzato per pubblicare record in un file delimitato da nuova riga contenente record JSON o file CSV in un argomento Pub/Sub per l'elaborazione in tempo reale. Puoi utilizzare questo modello per riprodurre i dati in Pub/Sub.
Questo modello non imposta alcun timestamp per i singoli record. La data e l'ora dell'evento corrispondono a quella dell'esecuzione durante l'esecuzione. Se la tua pipeline si basa su un orario dell'evento accurato per l'elaborazione, non devi utilizzarla.
Requisiti per questa pipeline:
- I file da leggere devono essere in formato JSON delimitato da nuova riga o in formato CSV. I record che coprono più righe nei file di origine potrebbero causare problemi a valle, poiché ogni riga all'interno dei file verrà pubblicata come messaggio in Pub/Sub.
- L'argomento Pub/Sub deve esistere prima dell'esecuzione della pipeline.
Parametri del modello
Parametro | Descrizione |
---|---|
inputFilePattern |
Il pattern del file di input da cui leggere. Ad esempio, gs://bucket-name/files/*.json . |
outputTopic |
L'argomento di input Pub/Sub in cui scrivere. Il nome deve essere nel formato
projects/<project-id>/topics/<topic-name> . |
Esecuzione del modello Cloud Storage Text to Pub/Sub (Batch)
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 Pub/Sub (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_Cloud_PubSub \ --region REGION_NAME \ --parameters \ inputFilePattern=gs://BUCKET_NAME/files/*.json,\ outputTopic=projects/PROJECT_ID/topics/TOPIC_NAME
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
TOPIC_NAME
: il nome dell'argomento Pub/SubBUCKET_NAME
: nome del bucket 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_Cloud_PubSub { "jobName": "JOB_NAME", "parameters": { "inputFilePattern": "gs://BUCKET_NAME/files/*.json", "outputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME" }, "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
TOPIC_NAME
: il nome dell'argomento Pub/SubBUCKET_NAME
: nome del bucket Cloud Storage
Testo di Cloud Storage in Cloud Spanner
Il modello Cloud Storage Text to Cloud Spanner è una pipeline batch che legge i file di testo CSV da Cloud Storage e li importa in un database Cloud Spanner.
Requisiti per questa pipeline:
- Devono essere presenti il database e la tabella Cloud Spanner target.
- Devi avere le autorizzazioni di lettura per il bucket Cloud Storage e le autorizzazioni di scrittura per il database Cloud Spanner di destinazione.
- Deve esistere il percorso di Cloud Storage di input contenente i file CSV.
- Devi creare un file manifest di importazione contenente una descrizione JSON dei file CSV e archiviare il file manifest in Cloud Storage.
- Se il database Cloud Spanner target ha già uno schema, le colonne specificate nel file manifest devono avere gli stessi tipi di dati delle colonne corrispondenti nello schema del database di destinazione.
-
Il file manifest, codificato in ASCII o UTF-8, deve corrispondere al seguente formato:
- I file di testo da importare devono essere in formato CSV, con codifica ASCII o UTF-8. Consigliamo di non utilizzare il BOM (byte order mark) nei file con codifica UTF-8.
- I dati devono corrispondere a uno dei seguenti tipi:
SQL di Google
BOOL INT64 FLOAT64 NUMERIC STRING DATE TIMESTAMP BYPES JSON
PostgreSQL
boolean bigint double precision numeric character varying, text date timestamp with time zone bytea
Parametri del modello
Parametro | Descrizione |
---|---|
instanceId |
L'ID istanza del database Cloud Spanner. |
databaseId |
L'ID del database Cloud Spanner. |
importManifest |
Il percorso in Cloud Storage del file manifest di importazione. |
columnDelimiter |
Il delimitatore di colonna utilizzato dal file di origine. Il valore predefinito è , . |
fieldQualifier |
Il carattere che deve includere qualsiasi valore nel file sorgente che contiene columnDelimiter . Il valore predefinito è " .
|
trailingDelimiter |
Specifica se le righe nei file di origine hanno delimitatori finali (ovvero, se il carattere columnDelimiter viene visualizzato alla fine di ogni riga, dopo l'ultimo valore della colonna). Il valore predefinito è true . |
escape |
Il carattere di escape utilizzato dal file sorgente. Per impostazione predefinita, questo parametro non è impostato e il modello non utilizza il carattere di escape. |
nullString |
La stringa che rappresenta un valore NULL . Per impostazione predefinita, questo parametro non è impostato e il modello non utilizza la stringa null. |
dateFormat |
Il formato utilizzato per analizzare le colonne della data. Per impostazione predefinita, la pipeline tenta di analizzare le colonne della data come yyyy-M-d[' 00:00:00'] , ad esempio 2019-01-31 o 2019-1-1 00:00:00.
Se il formato della data è diverso, specifica il formato utilizzando i pattern java.time.format.DateTimeFormatter . |
timestampFormat |
Il formato utilizzato per analizzare le colonne del timestamp. Se il timestamp è un numero intero lungo, viene analizzato come ora Unix del periodo. In caso contrario, viene analizzato come stringa utilizzando il formato
java.time.format.DateTimeFormatter.ISO_INSTANT . Per altri casi, specifica la tua stringa pattern, ad esempio
utilizzando MMM dd yyyy HH:mm:ss.SSSVV per i timestamp nel formato
"Jan 21 1998 01:02:03.456+08:00" . |
Se devi utilizzare formati di data o timestamp personalizzati, assicurati che siano validi per i pattern
java.time.format.DateTimeFormatter
. La seguente tabella mostra ulteriori esempi di formati personalizzati per le colonne delle date e dei timestamp:
Tipo | Valore inserito | Formato | Commento |
---|---|---|---|
DATE |
2011-3-31 | Per impostazione predefinita, il modello può analizzare questo formato.
Non è necessario specificare il parametro dateFormat . |
|
DATE |
31-3-2011 00:00:00 | Per impostazione predefinita, il modello può analizzare questo formato.
Non è necessario specificare il formato. Se vuoi, puoi utilizzare
yyyy-M-d' 00:00:00' . |
|
DATE |
1 aprile 18 | gg MMM, yy | |
DATE |
Mercoledì 3 aprile 2019 | EEEE, LLLL g, aaaa G | |
TIMESTAMP |
2019-01-02T11:22:33Z 2019-01-02T11:22:33.123Z 2019-01-02T11:22:33.12356789Z |
Il formato predefinito ISO_INSTANT è in grado di analizzare questo tipo di timestamp.
Non è necessario fornire il parametro timestampFormat . |
|
TIMESTAMP |
1568402363 | Per impostazione predefinita, il modello può analizzare questo tipo di timestamp e considerarlo come tempo Unix. | |
TIMESTAMP |
Mar, 3 giu 2008 11:05:30 GMT | EEE, d MMM aaaa HH:mm:ss VV | |
TIMESTAMP |
31/12/2018 110530.123PST | aaaa/mm/gg HHmmss.SSSz | |
TIMESTAMP |
2019-01-02T11:22:33Z oppure 2019-01-02T11:22:33.123Z | aaaa-MM-gg'T'HH:mm:ss[.SSS]VV | Se la colonna di input è un mix di 2019-01-02T11:22:33Z e 2019-01-02T11:22:33.123Z, il
formato predefinito può analizzare questo tipo di timestamp. Non è necessario fornire un parametro di formato personalizzato.
Puoi utilizzare yyyy-MM-dd'T'HH:mm:ss[.SSS]VV per gestire entrambi i casi. Non puoi utilizzare yyyy-MM-dd'T'HH:mm:ss[.SSS]'Z' , perché la "Z" di correzione corretta deve essere analizzata come ID del fuso orario, non come valore letterale di caratteri. Internamente, la colonna timestamp è convertita in java.time.Instant .
Pertanto, deve essere specificato nel fuso orario UTC o avere informazioni sul fuso orario associate.
La data/ora locale, ad esempio 2019-01-02 11:22:33, non può essere analizzata come un elemento java.time.Instant valido.
|
Esecuzione del modello File di testo da Cloud Storage a Cloud Spanner
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 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_Text_to_Cloud_Spanner \ --region REGION_NAME \ --parameters \ instanceId=INSTANCE_ID,\ databaseId=DATABASE_ID,\ importManifest=GCS_PATH_TO_IMPORT_MANIFEST
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
: il tuo ID istanza di Cloud SpannerDATABASE_ID
: il tuo ID database di Cloud SpannerGCS_PATH_TO_IMPORT_MANIFEST
: percorso di Cloud Storage del file manifest di importazione
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_Cloud_Spanner { "jobName": "JOB_NAME", "parameters": { "instanceId": "INSTANCE_ID", "databaseId": "DATABASE_ID", "importManifest": "GCS_PATH_TO_IMPORT_MANIFEST" }, "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
: il tuo ID istanza di Cloud SpannerDATABASE_ID
: il tuo ID database di Cloud SpannerGCS_PATH_TO_IMPORT_MANIFEST
: percorso di Cloud Storage del file manifest di importazione
Cloud Storage per Elasticsearch
Il modello Cloud Storage to Elasticsearch è una pipeline batch che legge i dati provenienti dai file CSV archiviati in un bucket Cloud Storage e li scrive in documenti Elasticsearch come JSON.
Requisiti per questa pipeline:
- Deve esistere il bucket Cloud Storage.
- Deve esistere un host Elasticsearch su un'istanza Google Cloud o su Elasticsearch Cloud accessibile da Dataflow.
- Deve esistere una tabella BigQuery per l'output degli errori.
Parametri del modello
Parametro | Descrizione |
---|---|
inputFileSpec |
Il pattern di file di Cloud Storage per cercare file CSV. Esempio: gs://mybucket/test-*.csv . |
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 a cui verranno inviate le richieste, come my-index . |
deadletterTable |
La tabella BigQuery Deadletter a cui inviare gli inserimenti non riusciti. Esempio: <your-project>:<your-dataset>.<your-table-name> . |
containsHeaders |
(Facoltativo) Valore booleano per indicare se le intestazioni sono incluse nel file CSV. Predefinitotrue . |
delimiter |
(Facoltativo) Il delimitatore utilizzato dal file CSV. Esempio: , |
csvFormat |
(Facoltativo) Il formato CSV in base al formato CSV Apache Commons. Valore predefinito: Default . |
jsonSchemaPath |
(Facoltativo) Lo schema Percorso verso JSON. Valore predefinito: null . |
largeNumFiles |
(Facoltativo) Impostalo su vero se il numero di file è decine di migliaia. Valore predefinito: false . |
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.
|
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. Predefinito: nessun nuovo tentativo. |
maxRetryDuration |
(Facoltativo) La durata massima dei nuovi tentativi in millisecondi deve essere maggiore o uguale a 0. Predefinito: nessun nuovo tentativo. |
csvFileEncoding |
(Facoltativo) Codifica dei file CSV. |
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 di Cloud Storage in un modello 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 Cloud Storage 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/GCS_to_Elasticsearch \ --parameters \ inputFileSpec=INPUT_FILE_SPEC,\ connectionUrl=CONNECTION_URL,\ apiKey=APIKEY,\ index=INDEX,\ deadletterTable=DEADLETTER_TABLE,\
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
INPUT_FILE_SPEC
: pattern del file di Cloud Storage.CONNECTION_URL
: l'URL dell'Elasticsearch.APIKEY
: la chiave API codificata in base64 per l'autenticazione.INDEX
: il tuo indice Elasticsearch.DEADLETTER_TABLE
: la tabella BigQuery.
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": { "inputFileSpec": "INPUT_FILE_SPEC", "connectionUrl": "CONNECTION_URL", "apiKey": "APIKEY", "index": "INDEX", "deadletterTable": "DEADLETTER_TABLE" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/GCS_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 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
INPUT_FILE_SPEC
: pattern del file di Cloud Storage.CONNECTION_URL
: l'URL dell'Elasticsearch.APIKEY
: la chiave API codificata in base64 per l'autenticazione.INDEX
: il tuo indice Elasticsearch.DEADLETTER_TABLE
: la tabella BigQuery.
Java Database Connectivity (JDBC) a BigQuery
Il modello da JDBC a BigQuery è una pipeline batch che copia i dati da una tabella di database relazionale in una tabella BigQuery esistente. Questa pipeline utilizza JDBC per connettersi al database relazionale. Puoi utilizzare questo modello per copiare i dati da qualsiasi database relazionale con driver JDBC disponibili in BigQuery. Per un ulteriore livello di protezione, puoi anche trasmettere una chiave Cloud KMS e i nomi utente, la password e i parametri della stringa di connessione codificati in Base64 con la chiave Cloud KMS. Per ulteriori dettagli sulla crittografia dei nomi utente, della password e dei parametri della stringa di connessione, consulta l'endpoint di crittografia dell'API Cloud KMS.
Requisiti per questa pipeline:
- I driver JDBC per il database relazionale devono essere disponibili.
- La tabella BigQuery deve esistere prima dell'esecuzione della pipeline.
- La tabella BigQuery deve avere uno schema compatibile.
- Il database relazionale deve essere accessibile dalla subnet in cui viene eseguito Dataflow.
Parametri del modello
Parametro | Descrizione |
---|---|
driverJars |
L'elenco di file JAR del driver, separati da virgole. Ad esempio, gs://<my-bucket>/driver_jar1.jar,gs://<my-bucket>/driver_jar2.jar . |
driverClassName |
Il nome della classe del driver JDBC. Ad esempio, com.mysql.jdbc.Driver . |
connectionURL |
La stringa dell'URL di connessione JDBC. Ad esempio, jdbc:mysql://some-host:3306/sampledb . Può essere trasmesso come stringa codificata in Base64 e successivamente criptata con una chiave Cloud KMS. |
query |
La query da eseguire sull'origine per estrarre i dati. Ad esempio, select * from sampledb.sample_table . |
outputTable |
La posizione della tabella di output BigQuery, nel formato <my-project>:<my-dataset>.<my-table> . |
bigQueryLoadingTemporaryDirectory |
La directory temporanea per il processo di caricamento di BigQuery.
Ad esempio, gs://<my-bucket>/my-files/temp_dir . |
connectionProperties |
(Facoltativo) Stringa di proprietà da utilizzare per la connessione JDBC. Il formato della stringa deve essere [propertyName=property;]* . Ad esempio, unicode=true;characterEncoding=UTF-8 . |
username |
(Facoltativo) Il nome utente da utilizzare per la connessione JDBC. Può essere trasmesso come stringa con codifica Base64 criptata con una chiave Cloud KMS. |
password |
(Facoltativo) La password da utilizzare per la connessione JDBC. Può essere trasmesso come stringa con codifica Base64 criptata con una chiave Cloud KMS. |
KMSEncryptionKey |
(Facoltativo) Chiave di crittografia Cloud KMS per decriptare il nome utente, la password e la stringa di connessione. Se viene trasmessa la chiave Cloud KMS, il nome utente, la password e la stringa di connessione devono essere tutti criptati. |
disabledAlgorithms |
(Facoltativo) Algoritmi separati da virgola da disattivare. Se questo valore viene impostato su none , nessun algoritmo viene disattivato. Utilizzali con cautela, poiché è noto che gli algoritmi disattivati per impostazione predefinita presentino vulnerabilità o problemi di prestazioni. Ad esempio: SSLv3, RC4. . |
extraFilesToStage |
Percorsi Cloud Storage o secret di Secret Manager separati da virgole per i file da inserire nell'area temporanea nel worker. Questi file verranno salvati nella directory /extra_files in ogni worker. Ad esempio, gs://<my-bucket>/file.txt,projects/<project-id>/secrets/<secret-id>/versions/<version-id> . |
Esecuzione del modello JDBC in 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 JDBC to BigQuery 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/Jdbc_to_BigQuery \ --region REGION_NAME \ --parameters \ driverJars=DRIVER_PATHS,\ driverClassName=DRIVER_CLASS_NAME,\ connectionURL=JDBC_CONNECTION_URL,\ query=SOURCE_SQL_QUERY,\ outputTable=PROJECT_ID:DATASET.TABLE_NAME, bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS,\ connectionProperties=CONNECTION_PROPERTIES,\ username=CONNECTION_USERNAME,\ password=CONNECTION_PASSWORD,\ KMSEncryptionKey=KMS_ENCRYPTION_KEY
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
DRIVER_PATHS
: percorso/i Cloud Storage separato da virgole dei driver JDBCDRIVER_CLASS_NAME
: il nome della classe di DriveJDBC_CONNECTION_URL
: l'URL di connessione JDBCSOURCE_SQL_QUERY
: la query SQL da eseguire sul database di origineDATASET
: il tuo set di dati BigQuery e sostituisciTABLE_NAME
: il nome della tabella BigQueryPATH_TO_TEMP_DIR_ON_GCS
: il tuo percorso di Cloud Storage nella directory temporaneaCONNECTION_PROPERTIES
: le proprietà della connessione JDBC, se necessarioCONNECTION_USERNAME
: nome utente della connessione JDBC.CONNECTION_PASSWORD
: la password di connessione JDBCKMS_ENCRYPTION_KEY
: la chiave di crittografia Cloud KMS
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/Jdbc_to_BigQuery { "jobName": "JOB_NAME", "parameters": { "driverJars": "DRIVER_PATHS", "driverClassName": "DRIVER_CLASS_NAME", "connectionURL": "JDBC_CONNECTION_URL", "query": "SOURCE_SQL_QUERY", "outputTable": "PROJECT_ID:DATASET.TABLE_NAME", "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS", "connectionProperties": "CONNECTION_PROPERTIES", "username": "CONNECTION_USERNAME", "password": "CONNECTION_PASSWORD", "KMSEncryptionKey":"KMS_ENCRYPTION_KEY" }, "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
DRIVER_PATHS
: percorso/i Cloud Storage separato da virgole dei driver JDBCDRIVER_CLASS_NAME
: il nome della classe di DriveJDBC_CONNECTION_URL
: l'URL di connessione JDBCSOURCE_SQL_QUERY
: la query SQL da eseguire sul database di origineDATASET
: il tuo set di dati BigQuery e sostituisciTABLE_NAME
: il nome della tabella BigQueryPATH_TO_TEMP_DIR_ON_GCS
: il tuo percorso di Cloud Storage nella directory temporaneaCONNECTION_PROPERTIES
: le proprietà della connessione JDBC, se necessarioCONNECTION_USERNAME
: nome utente della connessione JDBC.CONNECTION_PASSWORD
: la password di connessione JDBCKMS_ENCRYPTION_KEY
: la chiave di crittografia Cloud KMS
Connettività Java Database (JDBC) a Pub/Sub
Il modello Java Database Connectivity (JDBC) a Pub/Sub è una pipeline batch che importa i dati da un'origine JDBC e scrive i record risultanti in un argomento Pub/Sub preesistente come stringa JSON.
Requisiti per questa pipeline:
- L'origine JDBC deve esistere prima dell'esecuzione della pipeline.
- L'argomento di output di Cloud Pub/Sub deve esistere prima dell'esecuzione della pipeline.
Parametri del modello
Parametro | Descrizione |
---|---|
driverClassName |
Il nome della classe del driver JDBC. Ad esempio, com.mysql.jdbc.Driver . |
connectionUrl |
La stringa dell'URL di connessione JDBC. Ad esempio, jdbc:mysql://some-host:3306/sampledb . Può essere trasmesso come stringa codificata in Base64 e successivamente criptata con una chiave Cloud KMS. |
driverJars |
Percorsi Cloud Storage separati da virgole per i driver JDBC. Ad esempio, gs://your-bucket/driver_jar1.jar,gs://your-bucket/driver_jar2.jar . |
username |
(Facoltativo) Il nome utente da utilizzare per la connessione JDBC. Può essere trasmesso come stringa con codifica Base64 criptata con una chiave Cloud KMS. |
password |
(Facoltativo) La password da utilizzare per la connessione JDBC. Può essere trasmesso come stringa con codifica Base64 criptata con una chiave Cloud KMS. |
connectionProperties |
(Facoltativo) Stringa di proprietà da utilizzare per la connessione JDBC. Il formato della stringa deve essere [propertyName=property;]* . Ad esempio, unicode=true;characterEncoding=UTF-8 . |
query |
La query da eseguire sull'origine per estrarre i dati. Ad esempio, select * from sampledb.sample_table . |
outputTopic |
L'argomento Pub/Sub in cui pubblicare, nel formato projects/<project>/topics/<topic> . |
KMSEncryptionKey |
(Facoltativo) Chiave di crittografia Cloud KMS per decriptare il nome utente, la password e la stringa di connessione. Se viene trasmessa la chiave Cloud KMS, il nome utente, la password e la stringa di connessione devono essere tutti criptati. |
extraFilesToStage |
Percorsi Cloud Storage o secret di Secret Manager separati da virgole per i file da inserire nell'area temporanea nel worker. Questi file verranno salvati nella directory /extra_files in ogni worker. Ad esempio, gs://<my-bucket>/file.txt,projects/<project-id>/secrets/<secret-id>/versions/<version-id> . |
Esecuzione del modello Java Database Connectivity (JDBC) in un modello Pub/Sub
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 JDBC to Pub/Sub 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/flex/Jdbc_to_PubSub \ --region REGION_NAME \ --parameters \ driverClassName=DRIVER_CLASS_NAME,\ connectionURL=JDBC_CONNECTION_URL,\ driverJars=DRIVER_PATHS,\ username=CONNECTION_USERNAME,\ password=CONNECTION_PASSWORD,\ connectionProperties=CONNECTION_PROPERTIES,\ query=SOURCE_SQL_QUERY,\ outputTopic=OUTPUT_TOPIC,\ KMSEncryptionKey=KMS_ENCRYPTION_KEY
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
DRIVER_CLASS_NAME
: il nome della classe del conducenteJDBC_CONNECTION_URL
: l'URL di connessione JDBCDRIVER_PATHS
: percorso/i Cloud Storage separato da virgole dei driver JDBCCONNECTION_USERNAME
: nome utente della connessione JDBC.CONNECTION_PASSWORD
: la password di connessione JDBCCONNECTION_PROPERTIES
: le proprietà della connessione JDBC, se necessarioSOURCE_SQL_QUERY
: la query SQL da eseguire sul database di origineOUTPUT_TOPIC
: Pub/Sub in cui pubblicareKMS_ENCRYPTION_KEY
: la chiave di crittografia Cloud KMS
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 { "jobName": "JOB_NAME", "parameters": { "driverClassName": "DRIVER_CLASS_NAME", "connectionURL": "JDBC_CONNECTION_URL", "driverJars": "DRIVER_PATHS", "username": "CONNECTION_USERNAME", "password": "CONNECTION_PASSWORD", "connectionProperties": "CONNECTION_PROPERTIES", "query": "SOURCE_SQL_QUERY", "outputTopic": "OUTPUT_TOPIC", "KMSEncryptionKey":"KMS_ENCRYPTION_KEY" }, "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
DRIVER_CLASS_NAME
: il nome della classe del conducenteJDBC_CONNECTION_URL
: l'URL di connessione JDBCDRIVER_PATHS
: percorso/i Cloud Storage separato da virgole dei driver JDBCCONNECTION_USERNAME
: nome utente della connessione JDBC.CONNECTION_PASSWORD
: la password di connessione JDBCCONNECTION_PROPERTIES
: le proprietà della connessione JDBC, se necessarioSOURCE_SQL_QUERY
: la query SQL da eseguire sul database di origineOUTPUT_TOPIC
: Pub/Sub in cui pubblicareKMS_ENCRYPTION_KEY
: la chiave di crittografia Cloud KMS
Da Apache Cassandra a Cloud Bigtable
Il modello Apache Cassandra in Cloud Bigtable copia una tabella da Apache Cassandra a Cloud Bigtable. Questo modello richiede una configurazione minima e replica la struttura della tabella in Cassandra il più accuratamente possibile in Cloud Bigtable.
Il modello per la migrazione da Apache Cassandra a Cloud Bigtable è utile per:
- Eseguire la migrazione del database Apache Cassandra in caso di tempi di inattività ridotti accettabili.
- Replica periodicamente le tabelle di Cassandra in Cloud Bigtable per la pubblicazione globale.
Requisiti per questa pipeline:
- La tabella Bigtable di destinazione deve esistere prima dell'esecuzione della pipeline.
- Connessione di rete tra i worker di Dataflow e i nodi di Apache Cassandra.
Conversione dei tipi
Il modello Apache Cassandra in Cloud Bigtable converte automaticamente i tipi di dati Apache Cassandra in tipi di dati Cloud Bigtable.
La maggior parte delle primitive è rappresentata allo stesso modo in Cloud Bigtable e in Apache Cassandra; tuttavia, le seguenti primitive sono rappresentate in modo diverso:
Date
eTimestamp
vengono convertiti in oggettiDateTime
UUID
è convertito inString
Varint
è convertito inBigDecimal
Apache Cassandra supporta inoltre in modo nativo tipi più complessi come Tuple
, List
, Set
e Map
.
Le tuple non sono supportate da questa pipeline in quanto non esiste un tipo corrispondente in Apache Beam.
Ad esempio, in Apache Cassandra puoi avere una colonna di tipo List
denominata "mylist" e valori come quelli nella seguente tabella:
riga | mylist |
---|---|
1 | (a,b,c) |
La pipeline espande la colonna dell'elenco in tre colonne diverse (note in Cloud Bigtable come qualificatori di colonna). Il nome delle colonne è "mylist", ma la pipeline aggiunge l'indice dell'elemento nell'elenco, ad esempio "mylist[0]".
riga | mylist[0] | mylist[1] | mylist[2] |
---|---|---|---|
1 | a | b | c |
La pipeline gestisce gli stessi attributi degli elenchi, ma aggiunge un suffisso per indicare se la cella è una chiave o un valore.
riga | mymap |
---|---|
1 | {"first_key":"first_value","another_key":"different_value"} |
Dopo la trasformazione, la tabella viene visualizzata come segue:
riga | mymap[0].key | mymap[0].value | mymap[1].key | mymap[1].valore |
---|---|---|---|---|
1 | first_key | first_value | another_key | different_value |
Conversione della chiave primaria
In Apache Cassandra, viene definita una chiave primaria utilizzando il linguaggio di definizione dei dati. La chiave primaria è semplice, composita o composta da colonne di clustering. Cloud Bigtable supporta la creazione manuale delle chiavi riga, ordinate in modo alfabetico per l'array di byte. La pipeline raccoglie automaticamente informazioni sul tipo di chiave e ne crea una in base alle best practice per la creazione di chiavi riga basate su più valori.
Parametri del modello
Parametro | Descrizione |
---|---|
cassandraHosts |
Gli host dei nodi di Apache Cassandra in un elenco separato da virgole. |
cassandraPort |
(Facoltativo) La porta TCP per raggiungere Apache Cassandra sui nodi (il valore predefinito è 9042 ). |
cassandraKeyspace |
Lo spazio chiave Apache Cassandra in cui si trova la tabella. |
cassandraTable |
La tabella Apache Cassandra da copiare. |
bigtableProjectId |
L'ID del progetto Google Cloud dell'istanza Bigtable in cui viene copiata la tabella Apache Cassandra. |
bigtableInstanceId |
L'ID dell'istanza Bigtable in cui copiare la tabella Apache Cassandra. |
bigtableTableId |
Il nome della tabella Bigtable in cui copiare la tabella Apache Cassandra. |
defaultColumnFamily |
(Facoltativo) Il nome della famiglia di colonne della tabella Bigtable (il valore predefinito è default ). |
rowKeySeparator |
(Facoltativo) Il separatore utilizzato per creare la chiave di riga (il valore predefinito è # ). |
Esecuzione del modello Apache Cassandra in Cloud 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 Cassandra 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/Cassandra_To_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=BIGTABLE_INSTANCE_ID,\ bigtableTableId=BIGTABLE_TABLE_ID,\ cassandraHosts=CASSANDRA_HOSTS,\ cassandraKeyspace=CASSANDRA_KEYSPACE,\ cassandraTable=CASSANDRA_TABLE
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 in cui si trova Cloud BigtableBIGTABLE_INSTANCE_ID
: l'ID dell'istanza Cloud BigtableBIGTABLE_TABLE_ID
: il nome della tabella Cloud BigtableCASSANDRA_HOSTS
: l'elenco di host di Apache Cassandra; se vengono forniti più host, segui l'istruzione su come eseguire l'escape delle virgole.CASSANDRA_KEYSPACE
: lo spazio chiave di Apache Cassandra in cui si trova la tabellaCASSANDRA_TABLE
: tabella Apache Cassandra di cui è necessario eseguire la migrazione
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/Cassandra_To_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "BIGTABLE_INSTANCE_ID", "bigtableTableId": "BIGTABLE_TABLE_ID", "cassandraHosts": "CASSANDRA_HOSTS", "cassandraKeyspace": "CASSANDRA_KEYSPACE", "cassandraTable": "CASSANDRA_TABLE" }, "environment": { "zone": "us-central1-f" } }
Sostituisci quanto segue:
PROJET_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 in cui si trova Cloud BigtableBIGTABLE_INSTANCE_ID
: l'ID dell'istanza Cloud BigtableBIGTABLE_TABLE_ID
: il nome della tabella Cloud BigtableCASSANDRA_HOSTS
: l'elenco di host di Apache Cassandra; se vengono forniti più host, segui l'istruzione su come eseguire l'escape delle virgole.CASSANDRA_KEYSPACE
: lo spazio chiave di Apache Cassandra in cui si trova la tabellaCASSANDRA_TABLE
: tabella Apache Cassandra di cui è necessario eseguire la migrazione
MongoDB in BigQuery
Il modello MongoDB in BigQuery è una pipeline batch che legge i documenti da MongoDB e li scrive in BigQuery come specificato dal parametro userOption
.
Requisiti per questa pipeline
- Deve esistere il set di dati BigQuery di destinazione.
- L'istanza MongoDB di origine 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 da cui leggere la raccolta. Ad esempio: my-db . |
collection |
Nome della raccolta all'interno del database MongoDB. Ad esempio: my-collection . |
outputTableSpec |
Tabella BigQuery in cui scrivere. Ad esempio, bigquery-project:dataset.output_table . |
userOption |
FLATTEN o NONE . FLATTEN appiattisce i documenti al primo livello. NONE archivia l'intero documento come stringa JSON. |
Esecuzione del modello MongoDB in 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 MongoDB to BigQuery 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/MongoDB_to_BigQuery \ --parameters \ outputTableSpec=OUTPUT_TABLE_SPEC,\ mongoDbUri=MONGO_DB_URI,\ database=DATABASE,\ collection=COLLECTION,\ userOption=USER_OPTION
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/
OUTPUT_TABLE_SPEC
: il nome della tabella BigQuery di destinazione.MONGO_DB_URI
: l'URI MongoDB.DATABASE
: il tuo database MongoDB.COLLECTION
: la tua raccolta MongoDB.USER_OPTION
: FLATTEN o NESSUNO.
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", "userOption": "USER_OPTION" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/MongoDB_to_BigQuery", } }
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/
OUTPUT_TABLE_SPEC
: il nome della tabella BigQuery di destinazione.MONGO_DB_URI
: l'URI MongoDB.DATABASE
: il tuo database MongoDB.COLLECTION
: la tua raccolta MongoDB.USER_OPTION
: FLATTEN o NESSUNO.