Modello di testo Spanner to Cloud Storage

Il modello Spanner to Cloud Storage Text è una pipeline batch che legge i dati da una tabella Spanner e li scrive in Cloud Storage come file di testo CSV.

Requisiti della pipeline

  • La tabella Spanner di input deve esistere prima dell'esecuzione della pipeline.

Parametri del modello

Parametri obbligatori

  • spannerTable: la tabella Spanner da cui leggere i dati.
  • spannerProjectId: l'ID del progetto Google Cloud che contiene il database Spanner da cui leggere i dati.
  • spannerInstanceId: l'ID istanza della tabella richiesta.
  • spannerDatabaseId: l'ID database della tabella richiesta.
  • textWritePrefix: il prefisso del percorso Cloud Storage che specifica dove vengono scritti i dati. Ad esempio, gs://mybucket/somefolder/.

Parametri facoltativi

  • csvTempDirectory: il percorso Cloud Storage in cui vengono scritti i file CSV temporanei. Ad esempio, gs://your-bucket/your-path.
  • spannerPriority: la priorità della richiesta (https://cloud.google.com/spanner/docs/reference/rest/v1/RequestOptions) per le chiamate Spanner. I valori possibili sono HIGH, MEDIUM, LOW. Il valore predefinito è MEDIUM.
  • spannerHost: l'endpoint Cloud Spanner da chiamare nel modello. Utilizzato solo per i test. Ad esempio, https://batch-spanner.googleapis.com. Il valore predefinito è https://batch-spanner.googleapis.com.
  • spannerSnapshotTime: il timestamp che corrisponde alla versione del database Spanner da cui vuoi leggere. Il timestamp deve essere specificato nel formato RFC 3339 (https://tools.ietf.org/html/rfc3339) UTC Zulu Time. Il timestamp deve essere nel passato e si applica la massima obsolescenza del timestamp (https://cloud.google.com/spanner/docs/timestamp-bounds#maximum_timestamp_staleness). Ad esempio: 1990-12-31T23:59:60Z. Il valore predefinito è vuoto.
  • dataBoostEnabled: impostalo su true per utilizzare le risorse di computing di Spanner Data Boost per eseguire il job con un impatto quasi nullo sui flussi di lavoro Spanner OLTP. Se è true, richiede l'autorizzazione spanner.databases.useDataBoost Identity and Access Management (IAM). Per saperne di più, consulta la panoramica di Data Boost (https://cloud.google.com/spanner/docs/databoost/databoost-overview). Il valore predefinito è false.

Esegui il modello

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. La regione predefinita è us-central1.

    Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta Località di Dataflow.

  5. Dal menu a discesa Modello di 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-REGION_NAME/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 univoco del job a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • REGION_NAME: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempio us-central1
  • SPANNER_PROJECT_ID: l'ID progetto Google Cloud del database Spanner da cui vuoi leggere i dati
  • DATABASE_ID: l'ID database Spanner
  • BUCKET_NAME: il nome del bucket Cloud Storage
  • INSTANCE_ID: l'ID istanza Spanner
  • TABLE_ID: l'ID tabella Spanner

API

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

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/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 progetto Google Cloud in cui vuoi eseguire il job Dataflow
  • JOB_NAME: un nome univoco del job a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • LOCATION: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempio us-central1
  • SPANNER_PROJECT_ID: l'ID progetto Google Cloud del database Spanner da cui vuoi leggere i dati
  • DATABASE_ID: l'ID database Spanner
  • BUCKET_NAME: il nome del bucket Cloud Storage
  • INSTANCE_ID: l'ID istanza Spanner
  • TABLE_ID: l'ID tabella Spanner

Passaggi successivi