Modelo do Bigtable para o Cloud Storage SequenceFile

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

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

  • bigtableProject: o ID do projeto do 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 Cloud Bigtable a ser exportada.
  • destinationPath: o caminho do Cloud Storage em que os dados são gravados. Exemplo: gs://your-bucket/your-path/.
  • filenamePrefix: o prefixo do nome de arquivo do SequenceFile. (Exemplo: output-).

Parâmetros opcionais

  • 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.
  • bigtableStartRow: a linha de onde a exportação é iniciada. O padrão é a primeira linha.
  • bigtableStopRow: a linha em que a exportação será interrompida. O padrão é a última linha.
  • bigtableMaxVersions: número máximo de versões de células. O padrão é: 2147483647.
  • bigtableFilter: string de filtro. Consulte: http://hbase.apache.org/book.html#thrift. O padrão é vazio.

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 the Cloud Bigtable to SequenceFile Files on Cloud Storage template .
  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-REGION_NAME/VERSION/Cloud_Bigtable_to_GCS_SequenceFile \
    --region REGION_NAME \
    --parameters \
bigtableProject=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
bigtableAppProfileId=APPLICATION_PROFILE_ID,\
destinationPath=DESTINATION_PATH,\
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 do Google Cloud da instância do Bigtable da qual 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.
  • APPLICATION_PROFILE_ID: o ID do perfil do aplicativo Bigtable a ser usado para a exportação.
  • DESTINATION_PATH: o caminho do Cloud Storage em que os dados são gravados, por exemplo, gs://mybucket/somefolder.
  • FILENAME_PREFIX: prefixo do nome de arquivo do SequenceFile, por exemplo, output-

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/Cloud_Bigtable_to_GCS_SequenceFile
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProject": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "bigtableAppProfileId": "APPLICATION_PROFILE_ID",
       "destinationPath": "DESTINATION_PATH",
       "filenamePrefix": "FILENAME_PREFIX",
   },
   "environment": { "zone": "us-central1-f" }
}

Substitua:

  • PROJECT_ID: o ID do projeto do 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 do Google Cloud da instância do Bigtable da qual 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.
  • APPLICATION_PROFILE_ID: o ID do perfil do aplicativo Bigtable a ser usado para a exportação.
  • DESTINATION_PATH: o caminho do Cloud Storage em que os dados são gravados, por exemplo, gs://mybucket/somefolder.
  • FILENAME_PREFIX: prefixo do nome de arquivo do SequenceFile, por exemplo, output-

A seguir