Modello AstraDB to BigQuery

Il modello AstraDB to BigQuery è una pipeline batch che legge i record da AstraDB e li scrive in BigQuery.

Se la tabella di destinazione non esiste in BigQuery, la pipeline crea una tabella con i seguenti valori:

  • Dataset ID, ereditato dallo spazio chiavi di Cassandra.
  • Table ID, ereditato dalla tabella Cassandra.

Lo schema della tabella di destinazione viene dedotto dalla tabella Cassandra di origine.

  • List e Set sono mappati ai campi REPEATED di BigQuery.
  • Map sono mappati ai campi RECORD di BigQuery.
  • Tutti gli altri tipi vengono mappati ai campi BigQuery con i tipi corrispondenti.
  • I tipi UDT (user-defined type) e i tipi di dati tuple di Cassandra non sono supportati.

Requisiti della pipeline

  • Account AstraDB con un token

Parametri del modello

Parametri obbligatori

  • astraToken: il valore del token o l'ID risorsa del secret. Ad esempio, AstraCS:abcdefghij.
  • astraDatabaseId: l'identificatore univoco (UUID) del database. Ad esempio, cf7af129-d33a-498f-ad06-d97a6ee6eb7.
  • astraKeyspace: il nome dello spazio chiavi Cassandra all'interno del database Astra.
  • astraTable: il nome della tabella all'interno del database Cassandra. Ad esempio, my_table.

Parametri facoltativi

  • astraQuery: la query da utilizzare per filtrare le righe anziché leggere l'intera tabella.
  • astraDatabaseRegion: se non viene fornito, viene scelto un valore predefinito, utile per i database multiregione.
  • minTokenRangesCount: il numero minimo di suddivisioni da utilizzare per distribuire la query.
  • outputTableSpec: la posizione della tabella BigQuery in cui scrivere l'output. Utilizza il formato <PROJECT_ID>:<DATASET_NAME>.<TABLE_NAME>. Lo schema della tabella deve corrispondere agli oggetti di input.

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. Nel menu a discesa Modello di flusso di dati, seleziona the AstraDB to BigQuery 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 flex-template run JOB_NAME \
    --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/AstraDB_To_BigQuery \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --parameters \
       astraToken=ASTRA_TOKEN,\
       astraDatabaseId=ASTRA_DATABASE_ID,\
       astraKeyspace=ASTRA_KEYSPACE,\
       astraTable=ASTRA_TABLE,\

Sostituisci quanto segue:

  • JOB_NAME: un nome di job univoco 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
  • ASTRA_TOKEN: il token Astra
  • ASTRA_DATABASE_ID: l'identificatore del database
  • ASTRA_KEYSPACE: lo spazio chiavi Cassandra
  • ASTRA_TABLE: la tabella Cassandra

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/flexTemplates:launch
{
   "launchParameter": {
     "jobName": "JOB_NAME",
     "parameters": {
       "astraToken": "ASTRA_TOKEN",
       "astraDatabaseId": "ASTRA_DATABASE_ID",
       "astraKeyspace": "ASTRA_KEYSPACE",
       "astraTable": "ASTRA_TABLE",
     },
     "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/AstraDB_To_BigQuery",
     "environment": { "maxWorkers": "10" }
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto Google Cloud in cui vuoi eseguire il job Dataflow
  • JOB_NAME: un nome di job univoco 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
  • ASTRA_TOKEN: il token Astra
  • ASTRA_DATABASE_ID: l'identificatore del database
  • ASTRA_KEYSPACE: lo spazio chiavi Cassandra
  • ASTRA_TABLE: la tabella Cassandra

Passaggi successivi