O Lindorm Shell é uma ferramenta cliente do HBase que se conecta ao LindormTable por meio da HBase Java API. Utilize-a para criar tabelas, ler e gravar dados e executar operações DDL pela linha de comando. A configuração leva cerca de 5 minutos.
Pré-requisitos
Antes de começar, verifique se você possui:
Java Development Kit (JDK) 1.8 ou posterior instalado
O endereço IP da máquina cliente adicionado à lista de permissões da sua instância Lindorm. Consulte Configurar uma lista de permissões
Observações de uso
O Lindorm Shell suporta apenas operações simples de linguagem de definição de dados (DDL) e leitura/gravação de dados. Para operações não suportadas, consulte Limites da HBase API.
Não utilize o Lindorm Shell para acessar wide tables criadas com SQL. Isso pode causar caracteres ilegíveis.
O Lindorm Shell é executado em Linux e macOS.
A execução do Lindorm Shell no Windows pode causar erros ou bibliotecas ausentes. Se isso ocorrer, adicione as bibliotecas necessárias com base nas mensagens de erro.
Conectar ao LindormTable
Etapa 1: Baixe o Lindorm Shell
Faça login no console do Lindorm. No canto superior esquerdo, selecione a região onde sua instância está localizada. Na página Instances, clique em ID da instância desejada.
No painel de navegação à esquerda, clique em Database Connections e, em seguida, clique em aba Wide Table Engine.
Clique em Lindorm Shell Download.
Etapa 2: Extrair o pacote
Execute o comando tar para extrair o pacote baixado. O exemplo a seguir extrai o conteúdo para a pasta alihbase-2.0.18.
tar zxvf hbaseue-shell.tar.gz
Etapa 3: Configure os parâmetros de conexão
-
Abra o arquivo
hbase-site.xmlno diretórioalihbase-2.0.18/conf.vi alihbase-2.0.18/conf/hbase-site.xml -
Defina o endpoint, o nome de usuário e a senha:
Parâmetro
Descrição
hbase.zookeeper.quorumO endpoint Access By Using HBase Java API para o Wide Table Engine. Utilize o endpoint de VPC se o Lindorm Shell for executado em uma instância ECS na mesma VPC da sua instância Lindorm. Utilize o endpoint público se ele for executado em uma máquina local ou em uma instância ECS em uma VPC diferente.
hbase.client.usernameO nome de usuário para o LindormTable.
hbase.client.passwordA senha para o LindormTable. Para redefinir uma senha esquecida, consulte Alterar uma senha de usuário no Sistema de Gerenciamento de Cluster do LindormTable.
<configuration> <property> <name>hbase.zookeeper.quorum</name> <value>ld-bp17j28j2y7pm****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30020</value> </property> <property> <name>hbase.client.username</name> <value>testuser</value> </property> <property> <name>hbase.client.password</name> <value>password</value> </property> </configuration>
Etapa 4: Iniciar o Lindorm Shell
Execute hbase shell a partir do diretório alihbase-2.0.18/bin:
./hbase shell
Uma conexão bem-sucedida exibe uma saída semelhante a:
Version 2.0.18, r08b8d58a9d6ce89765d5ebe2ddff425aed644c16, Mon Feb 1 12:46:39 CST 2021
Took 0.0034 seconds
Referência do Lindorm Shell
Referência de comandos
Para obter a lista completa de comandos do shell, consulte Apache HBase Shell.
Entrar e sair do shell
Utilize hbase shell para entrar no ambiente do shell:
bin/hbase shell
Utilize quit para sair:
quit
Linguagem de definição de dados (DDL)
|
Comando |
Descrição |
|
|
Crie uma tabela |
|
|
Lista todas as tabelas |
|
|
Exibe as propriedades e o esquema da tabela |
|
|
Modifique uma tabela |
|
|
Verifique se uma tabela existe |
|
|
Desativa uma tabela (necessário antes de |
|
|
Verifique se uma tabela está desativada |
|
|
Ative uma tabela desativada |
|
|
Verifique se uma tabela está ativada |
|
|
Exclua uma tabela desativada |
Linguagem de manipulação de dados (DML)
|
Comando |
Descrição |
|
|
Grava um valor em uma célula específica |
|
|
Lê uma linha ou célula específica |
|
|
Varre uma tabela inteira ou um intervalo de linhas |
|
|
Retorna o número de linhas em uma tabela |
|
|
Exclua uma célula específica |
|
|
Exclua todas as células em uma linha |
|
|
Exclua todos os dados da tabela preservando as partições de região originais |
Exemplos de operação
Criar uma tabela e inserir dados
-
Utilize create para criar uma tabela. Especifique o nome da tabela e pelo menos um nome de família de colunas.
create 'table_name', 'column_family_name'Exemplo:
create 'test', 'cf' -
Utilize put para inserir linhas. A sintaxe é
put 'table', 'rowkey', 'column_family:column', 'value'.put 'test', 'row1', 'cf:a', 'value1' put 'test', 'row2', 'cf:b', 'value2' put 'test', 'row3', 'cf:c', 'value3'row1é a rowkey da tabelatest,cf:aespecifica o nome da família de colunas e o nome da coluna, evalue1é o valor.
Consultar dados
-
Utilize list para listar todas as tabelas. Passe uma expressão regular opcional para filtrar os resultados.
list list 'abc.*' list 'test' -
Utilize scan para ler todas as linhas de uma tabela ou consultar um intervalo de linhas. Este método é mais lento que
getpara buscas de linha única.scan 'test'Resultado:
ROW COLUMN+CELL row1 column=cf:a, timestamp=1421762485768, value=value1 row2 column=cf:b, timestamp=1421762491785, value=value2 row3 column=cf:c, timestamp=1421762496210, value=value3 3 row(s) in 0.0230 seconds -
Utilize get para recuperar uma única linha pela rowkey.
get 'test', 'row1'Resultado:
COLUMN CELL cf:a timestamp=1421762485768, value=value1 1 row(s) in 0.0350 seconds
Desativar e ativar uma tabela
Utilize disable antes de modificar ou excluir uma tabela. Utilize enable para restaurá-la posteriormente.
disable 'table_name'
enable 'table_name'
Excluir uma tabela
Utilize drop para excluir uma tabela desativada.
drop 'table_name'
Próximos passos
Limites da HBase API — operações não suportadas ao conectar via HBase API
Referência do Apache HBase Shell — referência completa de comandos para o HBase Shell