O modelo do AstraDB para o BigQuery é um pipeline em lote que lê registos do AstraDB e escreve-os no BigQuery.
Se a tabela de destino não existir no BigQuery, o pipeline cria uma tabela com os seguintes valores:
- O
Dataset ID
, que é herdado do espaço de chaves do Cassandra. - O
Table ID
, que é herdado da tabela do Cassandra.
O esquema da tabela de destino é inferido a partir da tabela Cassandra de origem.
List
eSet
são mapeados para camposREPEATED
do BigQuery.Map
são mapeados para campos doRECORD
BigQuery.- Todos os outros tipos são mapeados para campos do BigQuery com os tipos correspondentes.
- Os tipos definidos pelo utilizador (UDTs) e os tipos de dados de tuplos do Cassandra não são suportados.
Requisitos do pipeline
- Conta do AstraDB com um token
Parâmetros de modelos
Parâmetros obrigatórios
- astraToken: o valor do token ou o ID do recurso secreto. Por exemplo,
AstraCS:abcdefghij
. - astraDatabaseId: o identificador exclusivo (UUID) da base de dados. Por exemplo,
cf7af129-d33a-498f-ad06-d97a6ee6eb7
. - astraKeyspace: o nome do keyspace do Cassandra na base de dados do Astra.
- astraTable: o nome da tabela na base de dados Cassandra. Por exemplo,
my_table
.
Parâmetros opcionais
- astraQuery: a consulta a usar para filtrar linhas em vez de ler a tabela inteira.
- astraDatabaseRegion: se não for fornecido, é escolhida uma predefinição, o que é útil com bases de dados de várias regiões.
- minTokenRangesCount: o número mínimo de divisões a usar para distribuir a consulta.
- outputTableSpec: a localização da tabela do BigQuery para a qual escrever os resultados. Use o formato
<PROJECT_ID>:<DATASET_NAME>.<TABLE_NAME>
. O esquema da tabela tem de corresponder aos objetos de entrada.
Execute o modelo
Consola
- Aceda à página do fluxo de dados Criar tarefa a partir de um modelo. Aceda a Criar tarefa a partir de modelo
- No campo Nome da tarefa, introduza um nome exclusivo para a tarefa.
- Opcional: para Ponto final regional, selecione um valor no menu pendente. A região
predefinida é
us-central1
.Para ver uma lista das regiões onde pode executar uma tarefa do Dataflow, consulte as localizações do Dataflow.
- No menu pendente Modelo do fluxo de dados, selecione the AstraDB to BigQuery template.
- Nos campos de parâmetros fornecidos, introduza os valores dos parâmetros.
- Clique em Executar tarefa.
gcloud
Na shell ou no terminal, execute o modelo:
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,\
Substitua o seguinte:
JOB_NAME
: um nome de tarefa exclusivo à sua escolhaVERSION
: a versão do modelo que quer usarPode usar os seguintes valores:
latest
para usar a versão mais recente do modelo, que está disponível na pasta principal sem data no contentor: gs://dataflow-templates-REGION_NAME/latest/- o nome da versão, como
2023-09-12-00_RC00
, para usar uma versão específica do modelo, que pode ser encontrada aninhada na pasta principal com a data correspondente no contentor: gs://dataflow-templates-REGION_NAME/
REGION_NAME
: a região onde quer implementar a tarefa do Dataflow, por exemplo,us-central1
ASTRA_TOKEN
: o token do AstraASTRA_DATABASE_ID
: o identificador da base de dadosASTRA_KEYSPACE
: o espaço de chaves do CassandraASTRA_TABLE
: a tabela Cassandra
API
Para executar o modelo através da API REST, envie um pedido HTTP POST. Para mais informações sobre a API e os respetivos âmbitos de autorização, consulte 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" } } }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto onde quer executar a tarefa do Dataflow Google CloudJOB_NAME
: um nome de tarefa exclusivo à sua escolhaVERSION
: a versão do modelo que quer usarPode usar os seguintes valores:
latest
para usar a versão mais recente do modelo, que está disponível na pasta principal sem data no contentor: gs://dataflow-templates-REGION_NAME/latest/- o nome da versão, como
2023-09-12-00_RC00
, para usar uma versão específica do modelo, que pode ser encontrada aninhada na pasta principal com a data correspondente no contentor: gs://dataflow-templates-REGION_NAME/
LOCATION
: a região onde quer implementar a tarefa do Dataflow, por exemplo,us-central1
ASTRA_TOKEN
: o token do AstraASTRA_DATABASE_ID
: o identificador da base de dadosASTRA_KEYSPACE
: o espaço de chaves do CassandraASTRA_TABLE
: a tabela Cassandra
O que se segue?
- Saiba mais sobre os modelos do Dataflow.
- Consulte a lista de modelos fornecidos pela Google.