O modelo AstraDB para BigQuery é um pipeline em lote que lê registros do AstraDB e os grava no BigQuery.
Se a tabela de destino não existir no BigQuery, o pipeline criará uma tabela com os seguintes valores:
- O
Dataset ID
, que é herdado do keyspace do Cassandra. - O
Table ID
, que é herdado da tabela do Cassandra.
O esquema da tabela de destino é inferido da tabela de origem do Cassandra.
List
eSet
são mapeados para camposREPEATED
do BigQuery.Map
são mapeados para camposRECORD
do BigQuery.- Todos os outros tipos são mapeados para campos do BigQuery com os tipos correspondentes.
- Os tipos definidos pelo usuário (UDTs, na sigla em inglês) e de dados de tupla do Cassandra não são compatíveis.
Requisitos de pipeline
- Conta do AstraDB com um token
Parâmetros do modelo
Parâmetros obrigatórios
- astraToken: valor do token ou ID do recurso secreto. Por exemplo,
AstraCS:abcdefghij
. - astraDatabaseId: o identificador exclusivo do banco de dados (UUID). Por exemplo,
cf7af129-d33a-498f-ad06-d97a6ee6eb7
. - astraKeyspace: o nome do keyspace do Cassandra no banco de dados do Astra.
- astraTable: o nome da tabela no banco de dados do Cassandra. Por exemplo,
my_table
.
Parâmetros opcionais
- astraQuery: a consulta a ser usada para filtrar linhas em vez de ler a tabela inteira.
- astraDatabaseRegion: se não for fornecido, será escolhido um padrão, que é útil em bancos de dados multirregionais.
- minTokenRangesCount: o número mínimo de divisões a serem usadas para distribuir a consulta.
- outputTableSpec: o local da tabela do BigQuery em que a saída será gravada. Use o formato
<PROJECT_ID>:<DATASET_NAME>.<TABLE_NAME>
. O esquema da tabela precisa corresponder aos objetos de entrada.
Executar o modelo
Console
- Acesse a página Criar job usando um modelo do Dataflow. Acesse Criar job usando um modelo
- No campo Nome do job, insira um nome exclusivo.
- Opcional: em Endpoint regional, selecione um valor no menu suspenso. A região padrão é
us-central1
.Para ver uma lista de regiões em que é possível executar um job do Dataflow, consulte Locais do Dataflow.
- No menu suspenso Modelo do Dataflow, selecione the AstraDB to BigQuery template.
- Nos campos de parâmetro fornecidos, insira os valores de parâmetro.
- Cliquem em Executar job.
gcloud
No 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:
JOB_NAME
: um nome de job de sua escolhaVERSION
: a versão do modelo que você quer usarUse estes valores:
latest
para usar a versão mais recente do modelo, disponível na pasta mãe não datada no bucket: 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 respectiva pasta mãe datada no bucket: gs://dataflow-templates-REGION_NAME/
REGION_NAME
: a região em que você quer implantar o job do Dataflow, por exemplo,us-central1
ASTRA_TOKEN
: o token do AstraASTRA_DATABASE_ID
: o identificador do banco de dadosASTRA_KEYSPACE
: o keyspace do CassandraASTRA_TABLE
: a tabela do Cassandra
API
Para executar o modelo usando a API REST, envie uma solicitação HTTP POST. Para mais informações sobre a
API e os respectivos escopos 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:
PROJECT_ID
: o ID do projeto do Google Cloud em que você quer executar o job do DataflowJOB_NAME
: um nome de job de sua escolhaVERSION
: a versão do modelo que você quer usarUse estes valores:
latest
para usar a versão mais recente do modelo, disponível na pasta mãe não datada no bucket: 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 respectiva pasta mãe datada no bucket: gs://dataflow-templates-REGION_NAME/
LOCATION
: a região em que você quer implantar o job do Dataflow, por exemplo,us-central1
ASTRA_TOKEN
: o token do AstraASTRA_DATABASE_ID
: o identificador do banco de dadosASTRA_KEYSPACE
: o keyspace do CassandraASTRA_TABLE
: a tabela do Cassandra
A seguir
- Saiba mais sobre os modelos do Dataflow.
- Confira a lista de modelos fornecidos pelo Google.