Modelli batch Dataflow forniti da Google

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the BigQuery to TFRecords template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • READ_QUERY: la query BigQuery da eseguire
  • OUTPUT_DIRECTORY: il prefisso del percorso di Cloud Storage per i set di dati di output
  • TRAINING_PERCENTAGE: la percentuale decimale suddivisa per il set di dati di addestramento
  • TESTING_PERCENTAGE: la percentuale decimale suddivisa per il set di dati di test
  • VALIDATION_PERCENTAGE: la percentuale decimale suddivisa per il set di dati di convalida
  • OUTPUT_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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • READ_QUERY: la query BigQuery da eseguire
  • OUTPUT_DIRECTORY: il prefisso del percorso di Cloud Storage per i set di dati di output
  • TRAINING_PERCENTAGE: la percentuale decimale suddivisa per il set di dati di addestramento
  • TESTING_PERCENTAGE: la percentuale decimale suddivisa per il set di dati di test
  • VALIDATION_PERCENTAGE: la percentuale decimale suddivisa per il set di dati di convalida
  • OUTPUT_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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the BigQuery export to Parquet (via Storage API) template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGQUERY_TABLE: il nome della tua tabella BigQuery
  • OUTPUT_DIRECTORY: la tua cartella Cloud Storage per i file di output
  • NUM_SHARDS: numero desiderato di shard del file di output
  • FIELDS: 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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGQUERY_TABLE: il nome della tua tabella BigQuery
  • OUTPUT_DIRECTORY: la tua cartella Cloud Storage per i file di output
  • NUM_SHARDS: numero desiderato di shard del file di output
  • FIELDS: 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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the BigQuery to Elasticsearch template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • REGION_NAME: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • LOCATION: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the BigQuery to MongoDB template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • REGION_NAME: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • LOCATION: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the Cloud Bigtable to Avro Files on Cloud Storage template .
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • OUTPUT_DIRECTORY: percorso di Cloud Storage in cui sono scritti i dati, ad esempio gs://mybucket/somefolder
  • FILENAME_PREFIX: il prefisso del nome file di Avro, ad esempio output-

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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • OUTPUT_DIRECTORY: percorso di Cloud Storage in cui sono scritti i dati, ad esempio gs://mybucket/somefolder
  • FILENAME_PREFIX: il prefisso del nome file di Avro, ad esempio output-

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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the Cloud Bigtable to Parquet Files on Cloud Storage template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • OUTPUT_DIRECTORY: percorso di Cloud Storage in cui sono scritti i dati, ad esempio gs://mybucket/somefolder
  • FILENAME_PREFIX: il prefisso del nome file Parquet, ad esempio output-
  • NUM_SHARDS: il numero di file Parquet da visualizzare, ad esempio 1

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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • OUTPUT_DIRECTORY: percorso di Cloud Storage in cui sono scritti i dati, ad esempio gs://mybucket/somefolder
  • FILENAME_PREFIX: il prefisso del nome file Parquet, ad esempio output-
  • NUM_SHARDS: il numero di file Parquet da visualizzare, ad esempio 1

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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the Cloud Bigtable to SequenceFile Files on Cloud Storage template .
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • APPLICATION_PROFILE_ID: l'ID del profilo dell'applicazione Bigtable da utilizzare per l'esportazione
  • DESTINATION_PATH: percorso di Cloud Storage in cui sono scritti i dati, ad esempio gs://mybucket/somefolder
  • FILENAME_PREFIX: il prefisso del nome file SequenzaFile, ad esempio output-

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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • APPLICATION_PROFILE_ID: l'ID del profilo dell'applicazione Bigtable da utilizzare per l'esportazione
  • DESTINATION_PATH: percorso di Cloud Storage in cui sono scritti i dati, ad esempio gs://mybucket/somefolder
  • FILENAME_PREFIX: il prefisso del nome file SequenzaFile, ad esempio output-

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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the Datastore to Text Files on Cloud Storage template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 scelta
  • REGION_NAME: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 Storage
  • DATASTORE_PROJECT_ID: l'ID del progetto Cloud in cui esiste l'istanza di Datastore
  • DATASTORE_KIND: tipo di entità dei Datastore
  • DATASTORE_NAMESPACE: lo spazio dei nomi delle entità Datastore
  • JAVASCRIPT_FUNCTION: 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.

  • 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 esempio gs://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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • LOCATION: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 Storage
  • DATASTORE_PROJECT_ID: l'ID del progetto Cloud in cui esiste l'istanza di Datastore
  • DATASTORE_KIND: tipo di entità dei Datastore
  • DATASTORE_NAMESPACE: lo spazio dei nomi delle entità Datastore
  • JAVASCRIPT_FUNCTION: 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.

  • 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 esempio gs://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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the Firestore to Text Files on Cloud Storage template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 scelta
  • REGION_NAME: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 Storage
  • FIRESTORE_PROJECT_ID: l'ID del progetto Cloud in cui esiste l'istanza di Firestore
  • FIRESTORE_KIND: tipo di entità Firestore
  • FIRESTORE_NAMESPACE: lo spazio dei nomi delle tue entità Firestore
  • JAVASCRIPT_FUNCTION: 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.

  • 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 esempio gs://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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • LOCATION: l'endpoint a livello di area geografica in cui vuoi eseguire il deployment del tuo job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 Storage
  • FIRESTORE_PROJECT_ID: l'ID del progetto Cloud in cui esiste l'istanza di Firestore
  • FIRESTORE_KIND: tipo di entità Firestore
  • FIRESTORE_NAMESPACE: lo spazio dei nomi delle tue entità Firestore
  • JAVASCRIPT_FUNCTION: 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.

  • 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 esempio gs://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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. 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 Spanner
    • SPANNER_DATABASE_NAME: nome del database Spanner
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the Cloud Spanner to Avro Files on Cloud Storage template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 scelta

    Affinché 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 utilizzare

    Puoi 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 esempio us-central1
  • GCS_STAGING_LOCATION: il percorso di scrittura dei file temporanei, ad esempio gs://mybucket/temp
  • INSTANCE_ID: il tuo ID istanza di Cloud Spanner
  • DATABASE_ID: il tuo ID database di Cloud Spanner
  • GCS_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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta

    Affinché 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 utilizzare

    Puoi 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 esempio us-central1
  • GCS_STAGING_LOCATION: il percorso di scrittura dei file temporanei, ad esempio gs://mybucket/temp
  • INSTANCE_ID: il tuo ID istanza di Cloud Spanner
  • DATABASE_ID: il tuo ID database di Cloud Spanner
  • GCS_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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the Cloud Spanner to Text Files on Cloud Storage template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • SPANNER_PROJECT_ID: l'ID del progetto Cloud del database Spanner da cui vuoi leggere i dati
  • DATABASE_ID: l'ID del database Spanner
  • BUCKET_NAME: nome del bucket Cloud Storage
  • INSTANCE_ID: l'ID istanza di Spanner
  • TABLE_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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • SPANNER_PROJECT_ID: l'ID del progetto Cloud del database Spanner da cui vuoi leggere i dati
  • DATABASE_ID: l'ID del database Spanner
  • BUCKET_NAME: nome del bucket Cloud Storage
  • INSTANCE_ID: l'ID istanza di Spanner
  • TABLE_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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the Avro Files on Cloud Storage to Cloud Bigtable template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • INPUT_FILE_PATTERN: pattern del percorso di Cloud Storage in cui si trovano i dati, ad esempio gs://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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • INPUT_FILE_PATTERN: pattern del percorso di Cloud Storage in cui si trovano i dati, ad esempio gs://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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. 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 Spanner
    • SPANNER_DATABASE_NAME: nome del database Spanner
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the Avro Files on Cloud Storage to Cloud Spanner template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • INSTANCE_ID: l'ID dell'istanza Spanner che contiene il database
  • DATABASE_ID: l'ID del database Spanner in cui eseguire l'importazione
  • GCS_DIRECTORY: il percorso di Cloud Storage da cui vengono importati i file Avro, ad esempio gs://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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • INSTANCE_ID: l'ID dell'istanza Spanner che contiene il database
  • DATABASE_ID: l'ID del database Spanner in cui eseguire l'importazione
  • GCS_DIRECTORY: il percorso di Cloud Storage da cui vengono importati i file Avro, ad esempio gs://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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the Parquet Files on Cloud Storage to Cloud Bigtable template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • INPUT_FILE_PATTERN: pattern del percorso di Cloud Storage in cui si trovano i dati, ad esempio gs://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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • INPUT_FILE_PATTERN: pattern del percorso di Cloud Storage in cui si trovano i dati, ad esempio gs://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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the SequenceFile Files on Cloud Storage to Cloud Bigtable template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • APPLICATION_PROFILE_ID: l'ID del profilo dell'applicazione Bigtable da utilizzare per l'esportazione
  • SOURCE_PATTERN: pattern del percorso di Cloud Storage in cui si trovano i dati, ad esempio gs://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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del progetto Google Cloud dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • APPLICATION_PROFILE_ID: l'ID del profilo dell'applicazione Bigtable da utilizzare per l'esportazione
  • SOURCE_PATTERN: pattern del percorso di Cloud Storage in cui si trovano i dati, ad esempio gs://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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the Text Files on Cloud Storage to BigQuery (Batch) template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • JAVASCRIPT_FUNCTION: 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.

  • PATH_TO_BIGQUERY_SCHEMA_JSON: il percorso di Cloud Storage del file JSON contenente la definizione dello schema
  • 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 esempio gs://my-bucket/my-udfs/my_file.js
  • PATH_TO_TEXT_DATA: il tuo percorso di Cloud Storage verso il tuo set di dati di testo
  • BIGQUERY_TABLE: il nome della tua tabella BigQuery
  • PATH_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 Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • JAVASCRIPT_FUNCTION: 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.

  • PATH_TO_BIGQUERY_SCHEMA_JSON: il percorso di Cloud Storage del file JSON contenente la definizione dello schema
  • 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 esempio gs://my-bucket/my-udfs/my_file.js
  • PATH_TO_TEXT_DATA: il tuo percorso di Cloud Storage verso il tuo set di dati di testo
  • BIGQUERY_TABLE: il nome della tua tabella BigQuery
  • PATH_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

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (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.

  5. Dal menu a discesa Modello Dataflow, seleziona the Text Files on Cloud Storage to Datastore template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. 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 scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi 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 esempio us-central1
  • PATH_TO_INPUT_TEXT_FILES: pattern dei file di input su Cloud Storage
  • JAVASCRIPT_FUNCTION: 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.

  • 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 esempio gs://my-bucket/my-udfs/my_file.js
  • ERROR_FILE_WRITE_PATH: percorso verso il file di errore su Cloud Storage

API

Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni sull'API e sui suoi ambiti di autorizzazione, consulta projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Text_to_Datastore
{
   "jobName": "JOB_NAME",
   "parameters": {
       "textReadPattern": "PATH_TO_INPUT_TEXT_FILES",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION",
       "datastoreWriteProjectId": "PROJECT_ID",
       "errorWritePath": "ERROR_FILE_WRITE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto Cloud in cui vuoi es