Modelo do Cloud Storage Parquet para Bigtable

O modelo do Cloud Storage Parquet para Bigtable é um pipeline que lê dados de arquivos Parquet em um bucket do Cloud Storage e grava os dados em uma tabela do Bigtable. É possível usar o modelo para copiar dados do Cloud Storage para o Bigtable.

Requisitos de pipeline

  • A tabela do Bigtable precisa existir e ter as mesmas famílias de colunas que foram exportadas nos arquivos Parquet.
  • Os arquivos Parquer de entrada precisam existir em um bucket do Cloud Storage antes de o pipeline ser executado.
  • O Bigtable espera um esquema específico dos arquivos Parquet de entrada.

Parâmetros do modelo

Parâmetros obrigatórios

  • bigtableProjectId: o ID do projeto na nuvem do Google Cloud associado à instância do Bigtable.
  • bigtableInstanceId: o ID da instância do Cloud Bigtable que contém a tabela.
  • bigtableTableId: o ID da tabela do Bigtable a ser importada.
  • inputFilePattern: o caminho do Cloud Storage com os arquivos que contêm os dados. Por exemplo, gs://your-bucket/your-files/*.parquet.

Parâmetros opcionais

  • splitLargeRows: a flag para ativar a divisão de linhas grandes em várias solicitações "mutateRows". Quando uma linha grande é dividida entre várias chamadas de API, as atualizações da linha não são atômicas.

Executar o modelo

Console

  1. Acesse a página Criar job usando um modelo do Dataflow.
  2. Acesse Criar job usando um modelo
  3. No campo Nome do job, insira um nome exclusivo.
  4. 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.

  5. No menu suspenso Modelo do Dataflow, selecione o modelo Arquivos Parquet no Cloud Storage para o Cloud Bigtable.
  6. Nos campos de parâmetro fornecidos, insira os valores de parâmetro.
  7. Cliquem em Executar job.

gcloud

No shell ou no terminal, execute o modelo:

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Parquet_to_Cloud_Bigtable \
    --region REGION_NAME \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
inputFilePattern=INPUT_FILE_PATTERN

Substitua:

  • JOB_NAME: um nome de job de sua escolha
  • VERSION: a versão do modelo que você quer usar

    Use 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/latest/
    • o nome da versão, como 2023-09-12-00_RC00, para usar uma versão específica do modelo, que pode ser aninhada na respectiva pasta mãe datada no bucket: gs://dataflow-templates
  • REGION_NAME: a região em que você quer implantar o job do Dataflow, por exemplo, us-central1
  • BIGTABLE_PROJECT_ID: o ID do projeto Google Cloud da instância do Bigtable em que você quer ler os dados.
  • INSTANCE_ID: o ID da instância do Bigtable que contém a tabela.
  • TABLE_ID: o ID da tabela do Cloud Bigtable a ser exportada.
  • INPUT_FILE_PATTERN: o padrão de caminho do Cloud Storage em que os dados estão localizados, por exemplo, gs://mybucket/somefolder/prefix*

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/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Parquet_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:

  • PROJECT_ID: o ID do projeto Google Cloud em que você quer executar o job do Dataflow
  • JOB_NAME: um nome de job de sua escolha
  • VERSION: a versão do modelo que você quer usar

    Use 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/latest/
    • o nome da versão, como 2023-09-12-00_RC00, para usar uma versão específica do modelo, que pode ser aninhada na respectiva pasta mãe datada no bucket: gs://dataflow-templates
  • LOCATION: a região em que você quer implantar o job do Dataflow, por exemplo, us-central1
  • BIGTABLE_PROJECT_ID: o ID do projeto Google Cloud da instância do Bigtable em que você quer ler os dados.
  • INSTANCE_ID: o ID da instância do Bigtable que contém a tabela.
  • TABLE_ID: o ID da tabela do Cloud Bigtable a ser exportada.
  • INPUT_FILE_PATTERN: o padrão de caminho do Cloud Storage em que os dados estão localizados, por exemplo, gs://mybucket/somefolder/prefix*

A seguir