Modelo do Bigtable para JSON

O modelo Cloud Bigtable para JSON é um pipeline que lê dados de uma tabela do Bigtable e os grava em um bucket do Cloud Storage no formato JSON.

Requisitos de pipeline

  • A tabela do Bigtable precisa existir.
  • O bucket de saída do Cloud Storage precisa existir antes da execução do pipeline.

Parâmetros do modelo

Parâmetros obrigatórios

  • bigtableProjectId: o ID do projeto Google Cloud que contém a instância do Bigtable em que você quer ler os dados.
  • bigtableInstanceId: o ID da instância do Bigtable que contém a tabela.
  • bigtableTableId: o ID da tabela do Bigtable que será lida.
  • outputDirectory: o caminho do Cloud Storage em que os arquivos JSON de saída são armazenados. Por exemplo, gs://your-bucket/your-path/.

Parâmetros opcionais

  • filenamePrefix: o prefixo do nome do arquivo JSON. Por exemplo, table1-. Se nenhum valor for fornecido, o padrão será part.
  • userOption: os valores possíveis são FLATTEN ou NONE. FLATTEN nivela a linha para um único nível. NONE armazena toda a linha como uma string JSON. O padrão é NONE.
  • columnsAliases: uma lista de colunas separadas por vírgulas necessárias para o índice da Vertex AI Vector Search. As colunas id e embedding são obrigatórias para a Vertex AI Vector Search. Use a notação fromfamily:fromcolumn;to. Por exemplo, se as colunas forem rowkey e cf:my_embedding, em que rowkey tem um nome diferente da coluna de embedding, especifique cf:my_embedding;embedding e rowkey;id. Use esta opção somente quando o valor de userOption for FLATTEN.
  • bigtableAppProfileId: o ID do perfil do aplicativo do Bigtable a ser usado na exportação. Se você não especificar um perfil de aplicativo, o Bigtable usará o perfil de aplicativo padrão da instância: https://cloud.google.com/bigtable/docs/app-profiles#default-app-profile.

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 Bigtable para JSON.
  6. Nos campos de parâmetro fornecidos, insira os valores de parâmetro.
  7. Cliquem em Executar job.

CLI da gcloud

No shell ou no terminal, execute o modelo:

gcloud dataflow jobs run JOB_NAME \
    --gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/ \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --parameters \
       bigtableProjectId=BIGTABLE_PROJECT_ID,\
       bigtableInstanceId=BIGTABLE_INSTANCE_ID,\
       bigtableTableId=BIGTABLE_TABLE_ID,\
       filenamePrefix=FILENAME_PREFIX,\

Substitua:

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

    Use estes valores:

  • 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
  • BIGTABLE_INSTANCE_ID: o ID da instância
  • BIGTABLE_TABLE_ID: o ID da tabela
  • FILENAME_PREFIX: o prefixo do arquivo JSON.

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-LOCATION/VERSION/
{
   "jobName": "JOB_NAME",
   "parameters": {
     "bigtableProjectId": "BIGTABLE_PROJECT_ID",
     "bigtableInstanceId": "BIGTABLE_INSTANCE_ID",
     "bigtableTableId": "BIGTABLE_TABLE_ID",
     "filenamePrefix": "FILENAME_PREFIX",
   },
   "environment": { "maxWorkers": "10" }
}

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:

  • LOCATION: a região em que você quer implantar o job do Dataflow, por exemplo, us-central1
  • BIGTABLE_PROJECT_ID: o ID do projeto
  • BIGTABLE_INSTANCE_ID: o ID da instância
  • BIGTABLE_TABLE_ID: o ID da tabela
  • FILENAME_PREFIX: o prefixo do arquivo JSON

A seguir