La plantilla de AstraDB a BigQuery es un flujo de procesamiento por lotes que lee registros de AstraDB y los escribe en BigQuery.
Si la tabla de destino no existe en BigQuery, la canalización crea una tabla con los siguientes valores:
- El
Dataset ID
, que se hereda del espacio de claves de Cassandra. - El
Table ID
, que se hereda de la tabla de Cassandra.
El esquema de la tabla de destino se infiere de la tabla de origen de Cassandra.
List
ySet
se asignan a los camposREPEATED
de BigQuery.Map
se asignan a los campos deRECORD
de BigQuery.- Todos los demás tipos se asignan a campos de BigQuery con los tipos correspondientes.
- No se admiten los tipos definidos por el usuario (UDTs) ni los tipos de datos de tupla de Cassandra.
Requisitos del flujo de procesamiento
- Cuenta de Astra DB con un token
Parámetros de plantilla
Parámetros obligatorios
- astraToken el valor del token o el ID de recurso secreto. Por ejemplo,
AstraCS:abcdefghij
. - astraDatabaseId el identificador único (UUID) de la base de datos. Por ejemplo,
cf7af129-d33a-498f-ad06-d97a6ee6eb7
. - astraKeyspace nombre del espacio de claves de Cassandra en la base de datos de Astra.
- astraTable el nombre de la tabla de la base de datos de Cassandra. Por ejemplo,
my_table
.
Parámetros opcionales
- astraQuery la consulta que se va a usar para filtrar las filas en lugar de leer toda la tabla.
- astraDatabaseRegion si no se proporciona, se elige un valor predeterminado, lo que resulta útil con las bases de datos multirregión.
- minTokenRangesCount número mínimo de divisiones que se deben usar para distribuir la consulta.
- outputTableSpec la ubicación de la tabla de BigQuery en la que se escribirán los resultados. Usa el formato
<PROJECT_ID>:<DATASET_NAME>.<TABLE_NAME>
. El esquema de la tabla debe coincidir con los objetos de entrada.
Ejecutar la plantilla
Consola
- Ve a la página Crear tarea a partir de plantilla de Dataflow. Ir a Crear tarea a partir de plantilla
- En el campo Nombre de la tarea, introduce un nombre único.
- Opcional: En Endpoint regional, seleccione un valor en el menú desplegable. La región predeterminada es
us-central1
.Para ver una lista de las regiones en las que puedes ejecutar una tarea de Dataflow, consulta Ubicaciones de Dataflow.
- En el menú desplegable Plantilla de flujo de datos, seleccione the AstraDB to BigQuery template.
- En los campos de parámetros proporcionados, introduzca los valores de los parámetros.
- Haz clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
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,\
Haz los cambios siguientes:
JOB_NAME
: un nombre de trabajo único que elijasVERSION
: la versión de la plantilla que quieres usarPuedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta principal sin fecha del contenedor: gs://dataflow-templates-REGION_NAME/latest/- el nombre de la versión, como
2023-09-12-00_RC00
, para usar una versión específica de la plantilla, que se encuentra anidada en la carpeta principal correspondiente con la fecha en el bucket: gs://dataflow-templates-REGION_NAME/
REGION_NAME
: la región en la que quieras desplegar tu trabajo de Dataflow. Por ejemplo,us-central1
ASTRA_TOKEN
: el token de AstraASTRA_DATABASE_ID
: el identificador de la base de datosASTRA_KEYSPACE
: el espacio de claves de CassandraASTRA_TABLE
: la tabla de Cassandra
API
Para ejecutar la plantilla mediante la API REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus ámbitos de autorización, 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" } } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto Google Cloud en el que quieres ejecutar la tarea de DataflowJOB_NAME
: un nombre de trabajo único que elijasVERSION
: la versión de la plantilla que quieres usarPuedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta principal sin fecha del contenedor: gs://dataflow-templates-REGION_NAME/latest/- el nombre de la versión, como
2023-09-12-00_RC00
, para usar una versión específica de la plantilla, que se encuentra anidada en la carpeta principal correspondiente con la fecha en el bucket: gs://dataflow-templates-REGION_NAME/
LOCATION
: la región en la que quieras desplegar tu trabajo de Dataflow. Por ejemplo,us-central1
ASTRA_TOKEN
: el token de AstraASTRA_DATABASE_ID
: el identificador de la base de datosASTRA_KEYSPACE
: el espacio de claves de CassandraASTRA_TABLE
: la tabla de Cassandra
Siguientes pasos
- Consulta información sobre las plantillas de Dataflow.
- Consulta la lista de plantillas proporcionadas por Google.