Modelo do Bigtable para JSON

O modelo do Bigtable para JSON é um pipeline que lê dados de uma tabela do Bigtable e escreve-os num contentor do Cloud Storage no formato JSON.

Requisitos do pipeline

  • A tabela do Bigtable tem de existir.
  • O contentor do Cloud Storage de saída tem de existir antes de executar o pipeline.

Parâmetros de modelos

Parâmetros obrigatórios

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

Parâmetros opcionais

  • filenamePrefix: o prefixo do nome do ficheiro JSON. Por exemplo, table1-. Se não for indicado nenhum valor, o fuso horário predefinido é part.
  • userOption: os valores possíveis são FLATTEN ou NONE. FLATTEN reduz a linha ao nível único. NONE armazena toda a linha como uma string JSON. A predefinição é NONE.
  • columnsAliases: uma lista separada por vírgulas de colunas necessárias para o índice do Vertex AI Vector Search. As colunas id e embedding são obrigatórias para a pesquisa vetorial da Vertex AI. Pode usar a representação fromfamily:fromcolumn;to. Por exemplo, se as colunas forem rowkey e cf:my_embedding, em que rowkey tem um nome diferente do da coluna de incorporação, especifique cf:my_embedding;embedding e rowkey;id. Use esta opção apenas quando o valor de userOption for FLATTEN.
  • bigtableAppProfileId: o ID do perfil da aplicação do Bigtable a usar para a exportação. Se não especificar um perfil de app, o Bigtable usa o perfil de app predefinido da instância: https://cloud.google.com/bigtable/docs/app-profiles#default-app-profile.

Execute o modelo

Consola

  1. Aceda à página do fluxo de dados Criar tarefa a partir de um modelo.
  2. Aceda a Criar tarefa a partir de modelo
  3. No campo Nome da tarefa, introduza um nome exclusivo para a tarefa.
  4. 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.

  5. No menu pendente Modelo do fluxo de dados, selecione the Bigtable to JSON template.
  6. Nos campos de parâmetros fornecidos, introduza os valores dos parâmetros.
  7. Clique em Executar tarefa.

CLI gcloud

Na shell ou no terminal, execute o modelo:

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

Substitua o seguinte:

  • JOB_NAME: um nome de tarefa exclusivo à sua escolha
  • VERSION: a versão do modelo que quer usar

    Pode usar os seguintes valores:

  • REGION_NAME: a região onde quer implementar a tarefa 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 ficheiro JSON

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

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto onde quer executar a tarefa do Dataflow Google Cloud
  • JOB_NAME: um nome de tarefa exclusivo à sua escolha
  • VERSION: a versão do modelo que quer usar

    Pode usar os seguintes valores:

  • LOCATION: a região onde quer implementar a tarefa 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 ficheiro JSON

O que se segue?