Google Big Table
Conheça o componente e saiba como utilizá-lo.
O Google Big Table estabelece uma conexão com o serviço Google BigTable no pipeline. Essa funcionalidade permite a execução de diferentes operações usando instâncias de bancos de dados do Google BigTable.
Dê uma olhada nos parâmetros de configuração do componente:
- Account: é necessário ter uma conta do tipo PRIVATE KEY para que o componente faça a autenticação do serviço. 
- Project Id: ID do projeto no Google BigTable. 
- Instance Id: ID da instância no Google BigTable. 
- Table Id: ID da tabela no Google BigTable. 
- Operation: seleciona a operação a ser executada no banco de dados, que podem ser: write, read by rowkey, read by specific cell, read by prefix, read by range, ou delete row by rowkey. 
- Payload as file: se a opção estiver habilitada, o cadastro será realizado através de um arquivo localizado no campo “File Name”. Caso a opção esteja desabilitada, o preenchimento deve ser feito no campo “Payload”. 
- Payload: objeto a ser cadastrado no banco de dados. 
- File name: arquivo com o objeto a ser cadastrado. 
- Rowkey: identifica a rowkey de uma linha no Google BigTable. 
- Family: identifica a família no Google BigTable. 
- Qualifier: identifica o qualificador no Google BigTable. 
- Prefix: define o prefixo utilizado para consultar a rowkey de uma linha no Google BigTable. 
- Start range: define o limite inicial utilizado para consultar a rowkey de uma linha no Google BigTable. 
- End range: define o limite final utilizado para consultar a rowkey de uma linha no Google BigTable. 
- Fail On Error: se a opção estiver habilitada, a execução do pipeline com erro será interrompida. Do contrário, a execução do pipeline continuará, mas o resultado mostrará um valor falso para a propriedade "success". 
Alguns dos parâmetros mostrados acima suportam Double Braces. Leia o artigo Como referenciar dados usando Double Braces para entender o funcionamento dessa linguagem.
Fluxo de mensagens
Entrada
Nenhuma mensagem de entrada específica é esperada, e sim apenas o preenchimento dos parâmetros obrigatórios que variam conforme a operação selecionada. Veja abaixo a obrigatoriedade de parâmetros para cada operação:
- Write: Payload 
- Read by rowKey: Rowkey 
- Read by specific cell: Rowkey, Family, Qualifier 
- Read by prefix: Prefix 
- Read by range: Start range, End range 
- Delete row by rowkey: Rowkey 
No caso da operação Write, é necessária a existência do nome ou caminho do arquivo no campo “File Name” se a opção “Payload as File” estiver ativada.
Saída
Ao executar o componente utilizando as operações Write ou Delete row by rowkey, a seguinte estrutura de JSON será gerada:
{
  "success": true
}- success: "true" se a última operação ocorreu com sucesso. 
- error: surge se um erro ocorreu e o Fail on Error é "false". 
Ao executar o componente utilizando as operações Read by rowKey, Read by specific cell, Read by prefix ou Read by range, a seguinte estrutura de JSON será gerada:
{
  "data": "[{\"rowKey\":\"BBDC4#20200103\",\"cellList\":[{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"33,52727127\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"33,52727127\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,08722305\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,08722305\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"33057090\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"33057090\"}]}]",
  "success": true
}- data: volume de dados retornados com a operação. 
- rowKey: ID do rowkey usado na operação. 
- cellList: conjunto de células contendo os dados family, qualifier e value. 
- family: família da instância do banco de dados. 
- qualifier: qualificador da instância do banco de dados. 
- value: valor da instância do banco de dados. 
- success: "true" se a última operação ocorreu com sucesso. 
Google Big Table em ação
Dê uma olhada nos parâmetros de entrada e na saída esperada para cada operação nos exemplos a seguir:
Write
Entrada
Parâmetros
Account: google-storage-test
Project ID: digibee-test
Instance ID: spike-bigtable-id
Table ID: historicoAtivos
Operation: Write
Payload:
[
   {
      "rowKey":"BBDC4#20200102",
      "cellList":[
         {
            "family":"familiaA",
            "qualifier":"data",
            "value":"20200103"
         },
         {
            "family":"familiaA",
            "qualifier":"data",
            "value":"20200103"
         }
      ]
   }
]Saída
{
  "success": true
}Read by RowKey
Entrada
Parâmetros
Account: google-storage-test
Project ID: digibee-test
Instance ID: spike-bigtable-id
Table ID: historicoAtivos
Operation: Read
RowKey: BBDC4#20200103
Saída
{
  "data": "[{\"rowKey\":\"BBDC4#20200103\",\"cellList\":[{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"33,52727127\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"33,52727127\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,08722305\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,08722305\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"33057090\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"33057090\"}]}]",
  "success": true
}Read by specific cell
Entrada
Parâmetros
Account: google-storage-test
Project ID: digibee-test
Instance ID: spike-bigtable-id
Table ID: historicoAtivos
Operation: Read by specific cell
Rowkey: BBDC4#20200103
Family: familiaA
Qualifier: data
Saída
{
  "data": "{\"rowKey\":\"BBDC4#20200103\",\"cellList\":[{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"}]}",
  "success": true
}Read by prefix
Entrada
Parâmetros
Account: google-storage-test
Project ID: digibee-test
Instance ID: spike-bigtable-id
Table ID: historicoAtivos
Operation: Read by prefix
Prefix: BBDC4#202001
Saída
{
  "data": "[{\"rowKey\":\"BBDC4#20200102\",\"cellList\":[{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200102\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200102\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200102\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,20909119\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,20909119\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,20909119\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"32,90908813\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"32,90908813\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"32,90908813\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,07200241\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,07200241\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,07200241\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"20687260\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"20687260\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"20687260\"}]}]",
  "success": true
}Read by range
Entrada
Parâmetros
Account: google-storage-test
Project ID: digibee-test
Instance ID: spike-bigtable-id
Table ID: historicoAtivos
Operation: Read by range
Start range: BBDC4#20200100
End range: BBDC4#20200106
Saída
{
  "data": "[{\"rowKey\":\"BBDC4#20200102\",\"cellList\":[{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"}]},{\"rowKey\":\"BBDC4#20200103\",\"cellList\":[{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"ativo\",\"value\":\"BBDC4\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaA\",\"qualifier\":\"data\",\"value\":\"20200103\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"abertura\",\"value\":\"33,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"alta\",\"value\":\"34,54545212\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"33,52727127\"},{\"family\":\"familiaB\",\"qualifier\":\"baixa\",\"value\":\"33,52727127\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaB\",\"qualifier\":\"fechamento\",\"value\":\"34,09999847\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,08722305\"},{\"family\":\"familiaC\",\"qualifier\":\"fechamentoAjustado\",\"value\":\"33,08722305\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"33057090\"},{\"family\":\"familiaC\",\"qualifier\":\"volume\",\"value\":\"33057090\"}]}]",
  "success": true
}Delete row by rowKey
Entrada
Parâmetros
Account: google-storage-test
Project ID: digibee-test
Instance ID: spike-bigtable-id
Table ID: historicoAtivos
Operation: Delete row by rowKey
Rowkey: BBDC4#20200102
Saída
{
  "success": true
}
Isto foi útil?
