Criar e atualizar contadores no Bigtable
Aprenda a criar e atualizar contadores no Bigtable usando agregações, células de tabela que agregam valores no momento da gravação. Este guia de início rápido usa a
Google Cloud CLI e a CLI do
cbt
para criar três contadores:
- Um contador que mantém uma soma em execução
 - Um contador que acompanha o mínimo de todos os valores adicionados.
 - Um contador que acompanha o máximo de todos os valores adicionados.
 
Antes de começar
- 
    
      
        
        Sign in to your Google Account.
If you don't already have one, sign up for a new account.
 - 
      
Install the Google Cloud CLI.
 - 
          
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
 - 
        
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init - 
 
    
Depois que a gcloud CLI é inicializada, ela precisa ser atualizada e os componentes necessários instalados:
gcloud components update gcloud components install cbt
 - 
  
  
    
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
 - 
      Create a project: To create a project, you need the Project Creator
      (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. 
- 
        
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. - 
        
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name. 
 - 
  
    
Verify that billing is enabled for your Google Cloud project.
 - 
  
  
    
      
Enable the Cloud Bigtable API and Cloud Bigtable Admin API APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com  - 
      
Install the Google Cloud CLI.
 - 
          
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
 - 
        
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init - 
 
    
Depois que a gcloud CLI é inicializada, ela precisa ser atualizada e os componentes necessários instalados:
gcloud components update gcloud components install cbt
 - 
  
  
    
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
 - 
      Create a project: To create a project, you need the Project Creator
      (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. 
- 
        
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. - 
        
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name. 
 - 
  
    
Verify that billing is enabled for your Google Cloud project.
 - 
  
  
    
      
Enable the Cloud Bigtable API and Cloud Bigtable Admin API APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com  - Execute os seguintes comandos para garantir que a CLI gcloud esteja atualizada e inclua a CLI 
cbt:gcloud components updategcloud components install cbt Use o comando
bigtable instances createpara criar uma instância.gcloud bigtable instances create counters-quickstart-instance \ --display-name="Counters quickstart instance" \ --cluster-config=id="counters-quickstart-cluster",zone="us-east1-c"Configure a CLI
cbtpara usar o projeto e a instância criando um arquivo.cbtrc.echo project = PROJECT_ID >> ~/.cbtrc && echo instance = counters-quickstart-instance >> ~/.cbtrcSubstitua PROJECT_ID pelo ID do projeto que você está usando.
Verifique se você configurou o arquivo
.cbtrccorretamente.cat ~/.cbtrcO terminal exibe o conteúdo do arquivo
.cbtrc, que é semelhante ao seguinte:project = PROJECT_ID instance = counters-quickstart-instance
Agora, é possível usar a CLI
cbtcom sua instância.Use o comando
cbt createtablepara criar uma tabela chamadacounters_quickstart_tablecom três grupos de colunas agregadas. Configure cada grupo de colunas com um tipo de agregação diferente:- O grupo de colunas 
max_familyé do tipoMaxcom um tipo de entradaInteger. - O grupo de colunas 
min_familyé do tipoMincom um tipo de entradaInteger. - O grupo de colunas 
sum_familyé do tipoSumcom um tipo de entradaInteger. 
cbt createtable counters_quickstart_table families=sum_family:never:intsum,min_family:never:intmin,max_family:never:intmax- O grupo de colunas 
 Liste os grupos de colunas executando o comando
cbt ls.cbt ls counters_quickstart_tableO shell vai mostrar uma saída semelhante a esta:
Family Name GC Policy ----------- --------- max_family <never> min_family <never> sum_family <never>Use o comando
cbt addtocellpara gravar um valor inicial de5em uma nova coluna em cada um dos três grupos de colunas, usando uma chave de linha derow-key1e um timestamp de0. Essa operação cria células agregadas, que você usa como contadores.cbt addtocell counters_quickstart_table row-key1 sum_family:sum_column=5@0 cbt addtocell counters_quickstart_table row-key1 min_family:min_column=5@0 cbt addtocell counters_quickstart_table row-key1 max_family:max_column=5@0Para conferir os valores do contador como números inteiros em vez de bytes, defina um arquivo
yamlque a CLIcbtpossa usar para formatar a saída. Execute o comando a seguir:echo "families:" > cbtformat.yaml echo " max_family:" >> cbtformat.yaml echo " default_encoding: BigEndian" >> cbtformat.yaml echo " default_type: INT64" >> cbtformat.yaml echo " min_family:" >> cbtformat.yaml echo " default_encoding: BigEndian" >> cbtformat.yaml echo " default_type: INT64" >> cbtformat.yaml echo " sum_family:" >> cbtformat.yaml echo " default_encoding: BigEndian" >> cbtformat.yaml echo " default_type: INT64" >> cbtformat.yamlVerifique se você configurou o arquivo
cbtformat.yamlcorretamente.cat ~/cbtformat.yamlO terminal exibe o conteúdo do arquivo
cbtformat.yaml, que é semelhante ao seguinte:families: max_family: default_encoding: BigEndian default_type: INT64 min_family: default_encoding: BigEndian default_type: INT64 sum_family: default_encoding: BigEndian default_type: INT64Use o comando
cbt readpara transmitir o arquivoyamle ler os dados que você adicionou à tabela. A tabela agora tem três colunas, cada uma com um tipo de agregação diferente.cbt read counters_quickstart_table format-file=$HOME/cbtformat.yamlO shell vai mostrar uma saída semelhante a esta: Os valores são formatados como números inteiros, e os carimbos de data/hora estão no formato UTC.
row-key1 max_family:max_column @ 1970/01/01-00:00:00.000000 5 min_family:min_column @ 1970/01/01-00:00:00.000000 5 sum_family:sum_column @ 1970/01/01-00:00:00.000000 5Adicione o valor 3 a cada coluna da tabela usando os mesmos carimbos de data/hora que você usou ao criar as células. Em cada coluna, o valor da célula é mesclado com o valor atual com base no tipo de agregação da célula.
cbt addtocell counters_quickstart_table row-key1 sum_family:sum_column=3@0 cbt addtocell counters_quickstart_table row-key1 min_family:min_column=3@0 cbt addtocell counters_quickstart_table row-key1 max_family:max_column=3@0Use o comando
cbt readnovamente para ler os dados na tabela. Cada célula agora contém um valor agregado.cbt read counters_quickstart_table format-file=$HOME/cbtformat.yamlO
sum_columncontém a soma de 5 e 3 (8), omin_columncontém o mínimo dos dois valores gravados nele (3), e omax_columncontém o máximo dos dois valores gravados nele (5).row-key1 max_family:max_column @ 1970/01/01-00:00:00.000000 5 min_family:min_column @ 1970/01/01-00:00:00.000000 3 sum_family:sum_column @ 1970/01/01-00:00:00.000000 8Opcional: consulte a tabela no console Google Cloud com SQL.
No console do Google Cloud , abra a página Instâncias do Bigtable.
Selecione
counters-quickstart-instancena lista.No menu de navegação, clique em Bigtable Studio.
Clique na guia Editor.
Cole esta consulta no editor:
SELECT * FROM `counters_quickstart_table`Clique em Executar. Os resultados da consulta são mostrados na tabela Resultados e são semelhantes a este:
_key max_family min_family sum_family row-key1 { "max_column": 5 } { "min_column": 5 } { "sum_column": 8 } No terminal, exclua a tabela
counters_quickstart_table:cbt deletetable counters_quickstart_tableExclua a instância:
cbt deleteinstance counters-quickstart-instanceExclua o arquivo
.cbtrc:rm ~/.cbtrcExclua o arquivo de formatação:
rm ~/cbtformat.yamlOpcional: revogar credenciais da CLI gcloud:
gcloud auth revoke
Criar uma instância do Bigtable
Conectar-se à instância
Criar uma tabela com famílias de colunas agregadas
Criar contadores na tabela
Ler os dados
Atualizar os contadores
Limpar
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, exclua o projeto do Google Cloud e os recursos.