O modelo do Cloud Storage Avro para Bigtable é um pipeline que lê dados de ficheiros Avro num contentor do Cloud Storage e escreve os dados numa tabela do Bigtable. Pode usar o modelo para copiar dados do Cloud Storage para o Bigtable.
Requisitos do pipeline
- A tabela do Bigtable tem de existir e ter as mesmas famílias de colunas que foram exportadas nos ficheiros Avro.
- Os ficheiros Avro de entrada têm de existir num contentor do Cloud Storage antes de executar o pipeline.
- O Bigtable espera um esquema específico dos ficheiros Avro de entrada.
Parâmetros de modelos
Parâmetros obrigatórios
- bigtableProjectId: o ID do projeto do Google Cloud que contém a instância do Bigtable na qual quer escrever dados.
- bigtableInstanceId: o ID da instância do Bigtable que contém a tabela.
- bigtableTableId: o ID da tabela do Bigtable a importar.
- inputFilePattern: o padrão do caminho do Cloud Storage onde os dados estão localizados. Por exemplo,
gs://<BUCKET_NAME>/FOLDER/PREFIX*
.
Parâmetros opcionais
- splitLargeRows: a flag para ativar a divisão de linhas grandes em vários pedidos MutateRows. Tenha em atenção que, quando uma linha grande é dividida entre várias chamadas da API, as atualizações à linha não são atómicas.
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 Avro Files on Cloud Storage to Cloud Bigtable 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 jobs run JOB_NAME \ --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/GCS_Avro_to_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ inputFilePattern=INPUT_FILE_PATTERN
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
BIGTABLE_PROJECT_ID
: o ID do Google Cloud projeto da instância do Bigtable a partir da qual quer ler dadosINSTANCE_ID
: o ID da instância do Bigtable que contém a tabelaTABLE_ID
: o ID da tabela do Bigtable a exportarINPUT_FILE_PATTERN
: o padrão do caminho do Cloud Storage onde os dados estão localizados, por exemplo,gs://mybucket/somefolder/prefix*
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/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/GCS_Avro_to_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "inputFilePattern": "INPUT_FILE_PATTERN", }, "environment": { "zone": "us-central1-f" } }
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
BIGTABLE_PROJECT_ID
: o ID do Google Cloud projeto da instância do Bigtable a partir da qual quer ler dadosINSTANCE_ID
: o ID da instância do Bigtable que contém a tabelaTABLE_ID
: o ID da tabela do Bigtable a exportarINPUT_FILE_PATTERN
: o padrão do caminho do Cloud Storage onde os dados estão localizados, por exemplo,gs://mybucket/somefolder/prefix*
O que se segue?
- Saiba mais sobre os modelos do Dataflow.
- Consulte a lista de modelos fornecidos pela Google.