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:
Read by specific cell: Rowkey, Family, Qualifier
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:
Copiar {
"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:
Copiar {
"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:
Copiar [
{
"rowKey":"BBDC4#20200102",
"cellList":[
{
"family":"familiaA",
"qualifier":"data",
"value":"20200103"
},
{
"family":"familiaA",
"qualifier":"data",
"value":"20200103"
}
]
}
]
Saída
Copiar {
"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
Copiar {
"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
Copiar {
"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
Copiar {
"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
Copiar {
"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
Copiar {
"success": true
}