La plantilla de AstraDB a BigQuery es una canalización 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 camposRECORD
de BigQuery.- Todos los demás tipos se asignan a los campos de BigQuery con los tipos correspondientes.
- Los tipos definidos por el usuario (UDT) y los tipos de datos de tupla de Cassandra son compatibles.
Requisitos de la canalización
- Cuenta de AstraDB con un token
Parámetros de la plantilla
Parámetros obligatorios
- astraToken: Valor de token o ID de recurso secreto (ejemplo: AstraCS:abcdefghij).
- astraDatabaseId: Identificador único de la base de datos (UUID) (ejemplo: cf7af129-d33a-498f-ad06-d97a6ee6eb7).
- astraKeyspace: El nombre del espacio de claves de Cassandra dentro de la base de datos Astra.
- astraTable: El nombre de la tabla dentro de la base de datos de Cassandra. (Ejemplo: my_table).
Parámetros opcionales
- astraQuery: La consulta que se usará para filtrar filas en lugar de leer toda la tabla.
- astraDatabaseRegion: Si no se proporciona, se elige uno predeterminado, que es útil con bases de datos multirregionales.
- minTokenRangesCount: La cantidad mínima de divisiones que se usarán para distribuir la consulta.
- outputTableSpec: La ubicación de la tabla de BigQuery en la que se escribirá el resultado. Usa el formato
<PROJECT_ID>:<DATASET_NAME>.<TABLE_NAME>
. El esquema de la tabla debe coincidir con los objetos de entrada.
Ejecuta la plantilla
Console
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- Opcional: Para Extremo regional, selecciona un valor del menú desplegable. La región predeterminada es
us-central1
.Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.
- En el menú desplegable Plantilla de Dataflow, selecciona the AstraDB to BigQuery template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga 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,\
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket 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 puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket gs://dataflow-templates-REGION_NAME/
REGION_NAME
: La región en la que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
ASTRA_TOKEN
: Es el token de AstraASTRA_DATABASE_ID
: Es el identificador de la base de datosASTRA_KEYSPACE
: Es el espacio de claves de CassandraASTRA_TABLE
: Es la tabla de Cassandra
API
Para ejecutar la plantilla con la API de REST, envía una solicitud POST HTTP. Para obtener más información de la API y sus permisos 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" } } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Google Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket 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 puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket gs://dataflow-templates-REGION_NAME/
LOCATION
: La región en la que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
ASTRA_TOKEN
: Es el token de AstraASTRA_DATABASE_ID
: Es el identificador de la base de datosASTRA_KEYSPACE
: Es el espacio de claves de CassandraASTRA_TABLE
: Es la tabla de Cassandra
¿Qué sigue?
- Obtén información sobre las plantillas de Dataflow.
- Consulta la lista de plantillas que proporciona Google.