Todos os produtos
Search
Central de documentação

Lindorm:Conectar ao LindormTable com o Lindorm Shell

Última atualização: Aug 21, 2026

O Lindorm Shell é uma ferramenta de linha de comando compatível com HBase fornecida pelo Lindorm. Com ela, você se conecta ao LindormTable por meio da API HBase Java para executar operações de dados, como criar tabelas, inserir e consultar informações. Este tópico explica como baixar o Lindorm Shell e estabelecer a conexão com o LindormTable.

Pré-requisitos

  • Java Development Kit (JDK) 1.8 ou superior instalado.

  • Endereço IP do cliente adicionado à lista de permissões da instância do Lindorm. Para mais informações, consulte {{XREF_0}}.

Observações de uso

  • A conexão ao LindormTable via Lindorm Shell permite apenas operações básicas de DDL (linguagem de definição de dados) e DML (linguagem de manipulação de dados). Consulte {{XREF_1}} para verificar as operações não suportadas.

  • Evite usar a API HBase para acessar tabelas largas criadas com SQL, pois isso pode resultar em caracteres ilegíveis.

  • Recomendamos a utilização do Lindorm Shell em sistemas operacionais Linux ou macOS.

    Importante

    Ao utilizar o Lindorm Shell no Windows, podem ocorrer erros ou mensagens de biblioteca ausente. Nesse caso, adicione a biblioteca necessária ao sistema operacional conforme indicado na mensagem de erro.

Procedimento

  1. Baixe o Lindorm Shell.

    1. No canto superior esquerdo do console do Lindorm, selecione a região da sua instância. Na página Instances, clique no ID da instância desejada.

    2. No painel de navegação à esquerda, clique em Database Connections e, em seguida, clique na aba Wide Table Engine.

    3. Clique em Lindorm Shell Download.

  2. Execute o comando abaixo para descompactar o pacote do Lindorm Shell. Este exemplo extrai o conteúdo para o diretório alihbase-2.0.18.

    tar zxvf hbaseue-shell.tar.gz
  3. Configure os parâmetros de conexão.

    1. Acesse o diretório alihbase-2.0.18/conf e abra o arquivo hbase-site.xml.

      vi hbase-site.xml
    2. Defina o endpoint de conexão, o nome de usuário e a senha para o 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>

      Parâmetros:

      • hbase.zookeeper.quorum: Endpoint de conexão do LindormTable. Você encontra esse endereço na seção Access by Using HBase Java API do console.

        • Endpoint de VPC: Utilize este endpoint se o Lindorm Shell estiver em uma instância ECS na mesma VPC da sua instância Lindorm.

        • Endpoint público: Use esta opção quando o Lindorm Shell rodar em uma máquina local ou em uma instância ECS fora da VPC da instância Lindorm.

      • hbase.client.username e hbase.client.password: Credenciais de acesso ao LindormTable. Caso tenha esquecido a senha, altere-a no Cluster Management System do LindormTable. Para mais detalhes, veja {{XREF_2}}.

  4. Conecte-se ao LindormTable usando o Lindorm Shell.

    Navegue até o diretório alihbase-2.0.18/bin e execute o comando a seguir.

    ./hbase shell

    A saída abaixo indica que a conexão foi estabelecida com sucesso.

    Version 2.0.18, r08b8d58a9d6ce89765d5ebe2ddff425aed644c16, Mon Feb  1 12:46:39 CST 2021
    Took 0.0034 seconds
    Nota

    Para mais informações sobre como usar o shell, consulte {{XREF_3}}.

Referência do Lindorm Shell

Referência de comandos

Consulte The Apache HBase Shell para obter mais detalhes sobre os comandos do shell.

Linguagem de definição de dados (DDL)

  • create: Cria uma tabela.

  • list: Lista todas as tabelas existentes.

  • disable: Desativa uma tabela.

  • is_disabled: Verifica se uma tabela está desativada.

  • enable: Ativa uma tabela.

  • is_enabled: Confirma se uma tabela está ativa.

  • describe: Exibe detalhes da tabela, incluindo propriedades e schema.

  • alter: Modifica a estrutura ou configurações de uma tabela.

  • exists: Checa a existência de uma tabela específica.

  • drop: Remove a tabela especificada.

Linguagem de manipulação de dados (DML)

  • put: Atualiza o valor de uma célula específica.

  • get: Recupera o conteúdo de uma linha ou célula determinada.

  • delete: Exclui o valor de uma célula na tabela.

  • deleteall: Remove todas as células de uma linha indicada.

  • scan: Varre e retorna os dados da tabela.

  • count: Conta e devolve o número total de linhas da tabela.

  • truncate_preserve: Trunca uma tabela. Essa operação desativa, exclui e recria a tabela especificada, mantendo as mesmas divisões de região da original.

Entrar e sair do shell

  • Entre no ambiente Shell.

    bin/hbase shell
  • Saia do ambiente Shell.

    quit

Exemplos

Criar e inserir dados

  1. Crie uma tabela. É obrigatório especificar um nome para a tabela e pelo menos uma família de colunas.

    create 'table_name', 'column_family_name'

    Exemplo:

    // Create a table named test with a column family named cf.
    create 'test', 'cf'
  2. Insira os dados.

    put 'table_name', 'row_key', 'column_family:column_name', 'value'

    Exemplo:

    put 'test', 'row1', 'cf:a', 'value1'
    put 'test', 'row2', 'cf:b', 'value2'
    put 'test', 'row3', 'cf:c', 'value3'
    Nota

    row1 representa a chave da linha na tabela test, cf:a define a família e o nome da coluna, enquanto value1 corresponde ao valor armazenado.

Consultar dados

  • Consulte informações sobre todas as tabelas. Expressões regulares podem ser usadas para filtrar os resultados.

    list
    list 'abc.*'
    list 'test'
  • Consulte dados em uma tabela específica.

    O comando scan oferece uma maneira flexível de acessar dados no HBase. Ele permite varrer uma tabela inteira ou buscar dados dentro de um intervalo definido. Embora seja ligeiramente mais lento que uma consulta de linha única com o comando get, o scan é ideal para leituras em massa. Execute o comando abaixo para consultar dados na tabela de teste.

    scan 'table_name'

    Exemplo:

    scan 'test'

    O resultado retornado será semelhante a este:

    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
  • Consulte uma única linha de dados da tabela.

    get 'table_name', 'row_key' 

    Exemplo:

    get 'test', 'row1' 

    O resultado retornado será semelhante a este:

    COLUMN CELL
     cf:a timestamp=1421762485768, value=value1
    1 row(s) in 0.0350 seconds

Desativar e ativar tabela

Desative ou ative uma tabela conforme necessário. Antes de excluir uma tabela, alterar suas configurações ou realizar outras tarefas administrativas, desative-a primeiro com o comando disable. Ao concluir a operação, utilize o comando enable para reativá-la.

disable 'table_name'
enable 'table_name'

Excluir tabela

Remova uma tabela especificada do sistema.

drop 'table_name'

Configurações comuns

Configurações comuns

  • Defina o período de compactação principal (major compaction) para uma tabela específica. Recomendamos manter o valor padrão, a menos que haja necessidade técnica de alteração. A unidade é milissegundos (ms).

    O exemplo abaixo configura o ciclo de compactação principal para sete dias.

    alter 'table_name', {NAME => 'column_family_name', CONFIGURATION => {'hbase.hregion.majorcompaction' => 16800000}}
    Nota

    Valor padrão: Math.Min(TTL, 1728000000). Se nenhum TTL for definido, o valor padrão será 1.728.000.000 ms, equivalente a 20 dias.

  • Configure o algoritmo de compressão para uma família de colunas da tabela.

    alter 'table_name', NAME => 'column_family_name', COMPRESSION => 'ZSTD'
  • Estabeleça o tipo de codificação de bloco para uma família de colunas.

    O exemplo a seguir aplica a codificação DATA_BLOCK_ENCODING à família de colunas da tabela de teste.

    alter 'table_name', NAME => 'column_family_name', DATA_BLOCK_ENCODING => 'DIFF'
  • Defina o tempo de vida (TTL) dos dados para uma família de colunas. O TTL é medido em segundos (s); por exemplo, 2.592.000 s correspondem a 30 dias.

    alter 'table_name', NAME => 'column_family_name', TTL => 2592000

    Para reter dados permanentemente, defina o valor do TTL como FOREVER. Exemplo:

    alter 'table_name' , {NAME => 'column_family_name', TTL => 'FOREVER'}
  • Pré-divida (pre-split) uma tabela específica.

    create 'table_name', {NAME => 'column_family_name', COMPRESSION => 'snappy' }, { NUMREGIONS => 50, SPLITALGO => 'HexStringSplit' }

    Parâmetros

    Parâmetro

    Descrição

    NAME

    Nome da família de colunas.

    COMPRESSION

    Algoritmo de compressão aplicado aos dados da tabela. Padrão: None. Algoritmos suportados:

    • ZSTD (Recomendado)

    • SNAPPY

    • LZ4

    NUMREGIONS

    Quantidade de regiões. Como regra geral, calcule o número de regiões visando um tamanho entre 6 e 8 GB por região. Em instâncias de grande escala, aumente esse valor conforme a demanda.

    SPLITALGO

    Algoritmo utilizado para inicializar as regiões. Veja abaixo os algoritmos suportados e seus casos de uso:

    • HexStringSplit: Ideal para chaves de linha com prefixo em string hexadecimal.

    • DecimalStringSplit: Adequado para chaves de linha iniciadas por string numérica decimal.

    • UniformSplit: Indicada para chaves de linha com prefixo totalmente aleatório.

Após modificar as configurações, execute o comando abaixo para validar se as alterações foram aplicadas corretamente:

describe 'table_name'