Comandos Shell HBase com exemplos

⚡ Resumo Inteligente

Os comandos do shell do HBase permitem gerenciar tabelas e dados diretamente de um prompt interativo, agrupados em comandos gerais, comandos de gerenciamento de tabelas, como create e drop, comandos de manipulação de dados, como put e get, e comandos de replicação de cluster.

  • 🖥️ Comandos gerais: Os comandos `status`, `version`, `table_help` e `whoami` exibem o estado do cluster e informações do usuário.
  • 🗂️ Gestão de mesas: Criar, listar, descrever, desativar, ativar, excluir e alterar; construir e remodelar tabelas.
  • ✏️ Manipulação de dados: As funções put, get, delete, deleteall, truncate, count e scan leem e escrevem valores de células.
  • 🔁 Cluster replicação: Os comandos add_peer, remove_peer, start_replication e stop_replication gerenciam a replicação de dados.
  • ⏳ Atributo TTL: O tempo de vida (Time To Live) expira automaticamente as linhas da família de colunas após um número definido de segundos.
  • 🤖 Assistência de IA: Assistentes de IA geram e explicam comandos do shell do HBase a partir de instruções em linguagem natural.

Comandos do shell do HBase com exemplos para replicação de tabelas, dados e clusters.

Como interagir com o HBase usando comandos do shell e Java API

Após a instalação bem-sucedida do HBase sobre o Hadoop, obtemos um shell interativo para executar vários comandos e realizar diversas operações. Usando esses comandos, podemos executar múltiplas operações em tabelas de dados, o que proporciona maior eficiência no armazenamento de dados e interação flexível para o cliente.

Podemos interagir com o HBase de duas maneiras:

  • Modo de shell interativo do HBase e
  • Através da Java API.

No HBase, o modo de shell interativo é usado para interagir com o HBase para operações em tabelas, gerenciamento de tabelas e modelagem de dados. Usando o Java Com o modelo de API, podemos realizar todos os tipos de operações de tabela e dados no HBase. Podemos interagir com o HBase usando ambos os métodos. A única diferença entre os dois é que o Java A API usa Java O modo shell usa código para se conectar com o HBase, enquanto o modo shell usa comandos do shell para se conectar com o HBase.

Breve recapitulação do HBase antes de prosseguirmos:

  • HBase usa Hadoop O HBase é um sistema de armazenamento que utiliza arquivos para guardar grandes quantidades de dados. Ele consiste em servidores mestre e servidores de região.
  • Os dados que serão armazenados no HBase estarão na forma de regiões. Além disso, essas regiões serão divididas e armazenadas em vários servidores de região.
  • Esses comandos do shell permitem ao programador definir esquemas de tabelas e operações de dados usando interação completa no modo shell.
  • Qualquer comando que utilizarmos terá seu impacto no modelo de dados do HBase.
  • Utilizamos comandos do shell do HBase em interpretadores de script do sistema operacional, como o shell Bash.
  • O shell Bash é o interpretador de comandos padrão para a maioria dos sistemas. Linux e distribuições de sistemas operacionais Unix.
  • As versões avançadas do HBase fornecem comandos de shell com referências orientadas a objetos no estilo JRuby para tabelas.
  • Variáveis ​​de referência de tabela podem ser usadas para realizar operações de dados no modo shell do HBase.

Por exemplo:

  • Neste tutorial, criamos uma tabela na qual 'education' representa o nome da tabela e corresponde ao nome da coluna “guru99”.
  • Em alguns comandos, “guru99” representa o próprio nome de uma tabela.

Comandos gerais

No HBase, os comandos gerais são categorizados nos seguintes comandos:

  • Status
  • Versão
  • Table_help (varredura, eliminação, obtenção, colocação, desabilitação, etc.)
  • Quem sou eu

Para acessar o shell de comandos do HBase, primeiro precisamos executar o código mencionado abaixo.

hbase Shell

Após acessar o shell do HBase, podemos executar todos os comandos mencionados abaixo. Com a ajuda desses comandos, podemos realizar todos os tipos de operações em tabelas no modo shell do HBase. O prompt do shell interativo aparece conforme mostrado abaixo:

O prompt do shell interativo do HBase foi aberto com o comando hbase shell.

Vejamos todos esses comandos e seu uso, um por um, com um exemplo.

Status

Syntax:status

Este comando fornecerá detalhes sobre o status do sistema, como o número de servidores presentes no cluster, a quantidade de servidores ativos e o valor médio de carga. Você também pode passar parâmetros específicos, dependendo do nível de detalhamento das informações que deseja obter sobre o sistema. Os parâmetros podem ser 'summary', 'simple' ou 'detailed'; o parâmetro padrão é “summary”.

Abaixo, mostramos como você pode passar diferentes parâmetros para o comando de status. Observando a captura de tela abaixo, teremos uma ideia melhor.

hbase(main):001:0>status
hbase(main):002:0>status 'simple'
hbase(main):003:0>status 'summary'
hbase(main):004:0> status 'detailed'

O resultado do status é mostrado abaixo:

Saída do comando de status do shell do HBase mostrando servidores ativos, servidores inativos e carga média.

Ao executarmos esse comando de status, ele fornece informações sobre o número de servidores presentes, servidores inativos e a carga média do servidor. Aqui, a captura de tela mostra informações como 1 servidor ativo, 1 servidor inativo e uma carga média de 7.0000.

Versão

Syntax: version

A versão exibida é mostrada abaixo:

O comando `hBase shell version` mostra a versão do HBase instalada.

  • Este comando exibirá a versão do HBase atualmente em uso no modo de comando.
  • Se você executar o comando de versão, ele exibirá a saída mostrada acima.

Tabela de ajuda

Syntax:table_help

A saída do comando `table_help` é mostrada abaixo:

Lista de saída do comando `table_help` do shell HBase. Uso dos comandos `create` e `get_table`.

Este comando orienta:

  • O que são comandos referenciados por tabela e como usá-los.
  • Ele fornecerá diferentes usos de comandos do shell do HBase e suas respectivas sintaxes.
  • Na captura de tela acima, é possível ver a sintaxe dos comandos “create” e “get_table” e seus respectivos usos. Podemos manipular a tabela por meio desses comandos após sua criação no HBase.
  • Isso fornecerá comandos de manipulação de tabelas, como put, get e todas as outras informações de comando.

whoami

Syntax: Whoami

A saída do comando `whoami` é mostrada abaixo:

O comando `whoami` do shell do HBase retorna o usuário e os grupos atuais do HDUser.

O comando “whoami” é usado para retornar as informações do usuário atual do HBase no cluster HBase. Ele fornecerá informações como:

  • Grupos presentes no HBase.
  • As informações do usuário; por exemplo, neste caso, “hduser” representa o nome de usuário, conforme mostrado na captura de tela.

TTL (Tempo de Vida) – Atributo

No HBase, as famílias de colunas podem ser definidas para valores de tempo em segundos usando TTL. O HBase excluirá automaticamente as linhas assim que o tempo de expiração for atingido. Esse atributo se aplica a todas as versões de uma linha, inclusive à versão atual.

O tempo TTL codificado no HBase para a linha é especificado em UTC. Este atributo é usado com comandos de gerenciamento de tabelas. As principais diferenças entre o tratamento de TTL e os TTLs de famílias de colunas são apresentadas abaixo:

  • Os TTLs das células são expressos em unidades de milissegundos em vez de segundos.
  • O TTL de uma célula não pode estender a vida útil efetiva de uma célula além da configuração de TTL definida no nível da Família de Colunas.

Comandos de gerenciamento de tabelas

Esses comandos permitem que os programadores criem tabelas e esquemas de tabelas com famílias de linhas e colunas. A seguir, estão os comandos de gerenciamento de tabelas:

  • Criar
  • Lista
  • Descrever
  • Desabilitar
  • Desativar_tudo
  • Permitir
  • Habilitar todos
  • Cair
  • Soltar_tudo
  • Mostrar_filtros
  • Idade
  • Alterar_status

Vamos analisar os diversos usos de comandos no HBase com um exemplo.

Criar

Syntax: create <tablename>, <columnfamilyname>

Exemplo:-

hbase(main):001:0> create 'education' ,'guru99'
0 rows(s) in 0.312 seconds
=>Hbase::Table – education

O resultado do comando de criação é mostrado abaixo:

O comando `hBase shell create` cria a tabela `education` com a família de colunas `guru99`.

O exemplo acima explica como criar uma tabela no HBase com o nome especificado, de acordo com as especificações de cada família de colunas. Além disso, também podemos passar alguns atributos de escopo de tabela para ela. Para verificar se a tabela 'education' foi criada ou não, usamos o comando "list" abaixo. Veja também criando tabelas HBase com Java e concha.

Lista

Syntax:list

A lista de resultados é mostrada abaixo:

O comando `HBase shell list` mostra oito tabelas existentes no HBase.

  • O comando “list” exibirá todas as tabelas presentes ou criadas no HBase.
  • A saída mostrada na captura de tela acima exibe atualmente as tabelas existentes no HBase.
  • Aqui, nesta captura de tela, é possível ver que existem um total de 8 tabelas presentes no HBase.
  • Podemos filtrar os valores de saída das tabelas passando parâmetros opcionais de expressão regular.

Descrever

Syntax:describe <table name>
hbase(main):010:0>describe 'education'

A saída do comando `describe` é mostrada abaixo:

Saída do comando `describe` do shell do HBase detalhando as famílias de colunas da tabela `education`.

Este comando descreve a tabela nomeada.

  • Isso fornecerá mais informações sobre as famílias de colunas presentes na tabela mencionada.
  • No nosso caso, apresenta a descrição da tabela “educação”.
  • Isso fornecerá informações sobre o nome da tabela com famílias de colunas, filtros associados, versões e alguns outros detalhes.

desabiltar

Syntax: disable <tablename>
hbase(main):011:0>disable 'education'

A saída de desativação é mostrada abaixo:

O comando `HBase shell disable` coloca a tabela `education` offline.

  • Este comando iniciará a desativação da tabela especificada.
  • Se uma tabela precisar ser excluída ou removida, ela precisa ser desativada primeiro.

Aqui, na captura de tela acima, estamos desativando a tabela de educação.

desativar_tudo

 Syntax: disable_all<"matching regex"
  • Este comando desabilitará todas as tabelas que correspondem ao regex fornecido.
  • A implementação é a mesma do comando drop (exceto pela adição de uma expressão regular para correspondência).
  • Após a tabela ser desativada, o usuário poderá excluí-la do HBase.
  • Antes de excluir ou soltarping Uma tabela deve ser desativada primeiro.

Permitir

Syntax: enable <tablename>
hbase(main):012:0>enable 'education'

A saída do comando `enable` é mostrada abaixo:

O comando `hbase shell enable` reativa a tabela de educação desativada.

  • Este comando irá ativar a tabela especificada.
  • Qualquer tabela que esteja desativada, para restaurá-la ao seu estado anterior, usamos este comando.
  • Se uma tabela estiver desabilitada inicialmente e não for excluída ou descartada, e se quisermos reutilizar a tabela desabilitada, então precisamos habilitá-la usando este comando.
  • Aqui, na captura de tela acima, estamos habilitando a tabela “educação”.

mostrar_filtros

Syntax: show_filters

A saída do comando show_filters é mostrada abaixo:

O comando `show_filters` do shell do HBase lista os filtros disponíveis no HBase.

Este comando exibe todos os filtros presentes no HBase, como ColumnPrefixFilter, TimestampsFilter, PageFilter, FamilyFilter, etc.

cair

Syntax:drop <table name>
hbase(main):017:0>drop 'education'

A saída do drop é mostrada abaixo:

O comando drop do shell do HBase exclui a tabela de educação desativada.

Devemos observar os seguintes pontos para o comando drop:

  • Para excluir uma tabela presente no HBase, primeiro precisamos desativá-la.
  • Para excluir uma tabela presente no HBase, primeiro precisamos desativá-la.
  • Portanto, para excluir ou remover uma tabela, primeiro a tabela deve ser desativada usando o comando disable.
  • Aqui, na captura de tela acima, estamos soltandoping a tabela “educação”.
  • Antes de executar este comando, é necessário desativar a tabela “education”.

drop_all

Syntax: drop_all<"regex">
  • Este comando irá excluir todas as tabelas que correspondem à expressão regular fornecida.
  • As tabelas precisam ser desativadas primeiro, antes de executar este comando, usando disable_all.
  • Tabelas com expressões regulares correspondentes serão removidas do HBase.

está ativado

Syntax: is_enabled 'education'

Este comando verifica se a tabela especificada está habilitada ou não. Geralmente, há alguma confusão entre as ações dos comandos “enable” e “is_enabled”, que esclarecemos aqui:

  • Suponha que uma tabela esteja desabilitada; para usar essa tabela, precisamos habilitá-la usando o comando enable.
  • O comando is_enabled verifica se a tabela está habilitada ou não.

alterar

Syntax: alter <tablename>, NAME=><column familyname>, VERSIONS=>5

Este comando altera o esquema da família de colunas. Para entender exatamente o que ele faz, explicamos aqui com um exemplo.

Exemplos: Nestes exemplos, vamos executar operações de comando ALTER em tabelas e em suas colunas. Realizaremos operações como:

  • Alteração de nomes de família em colunas únicas e múltiplas.
  • Excluindo nomes de famílias de colunas de uma tabela.
  • Diversas outras operações que utilizam atributos de escopo com uma tabela.

Para alterar ou adicionar a família de colunas 'guru99_1' na tabela 'education', mantendo um máximo de 5 versões de células. Aqui, "education" é o nome da tabela criada anteriormente com o nome de coluna "guru99". Com a ajuda de um comando ALTER, estamos tentando alterar o esquema da família de colunas de guru99 para guru99_1, conforme mostrado abaixo:

O comando ALTER do shell do HBase altera a família de colunas da tabela education para guru99_1.

hbase> alter 'education', NAME='guru99_1', VERSIONS=>5

Você também pode usar o comando ALTER em várias famílias de colunas. Por exemplo, vamos definir duas novas colunas para nossa tabela existente "education", como mostrado abaixo:

O comando ALTER do shell do HBase adiciona duas novas famílias de colunas: guru99_2 e guru99_3.

 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}
  • Podemos alterar o esquema de mais de uma coluna por vez usando este comando.
  • guru99_2 e guru99_3, conforme mostrado na captura de tela acima, são os dois novos nomes de coluna que definimos para a tabela education.
  • Podemos ver como usar esse comando na captura de tela anterior.

Nesta etapa, veremos como excluir uma família de colunas da tabela. Para excluir a família de colunas 'f1' na tabela 'education', use um dos comandos abaixo. O resultado é mostrado na captura de tela a seguir:

Comando ALTER do shell HBase excluindo uma família de colunas da tabela education

hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1'

Neste comando, estamos tentando excluir o espaço de colunas chamado guru99_1 que criamos anteriormente na primeira etapa. Como mostrado nas capturas de tela abaixo, são duas etapas: como alterar um atributo de escopo de tabela e como remover o atributo de escopo de tabela.

O comando ALTER do shell do HBase define o atributo de escopo de tabela MAX_FILESIZE.

Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'

Passo 1) Você pode alterar atributos de escopo de tabela como MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH, etc. Estes podem ser colocados no final; por exemplo, para alterar o tamanho máximo de uma região para 128 MB ou qualquer outro valor de memória, usamos este comando.

Uso:

  • Podemos usar MAX_FILESIZE com a tabela como um atributo de escopo, como acima.
  • O valor representado em MAX_FILESIZE refere-se à memória em bytes.

NOTA: O escopo da tabela MAX_FILESIZE será determinado por alguns atributos presentes no HBase. MAX_FILESIZE também está incluído nos atributos de escopo da tabela.

Passo 2) Você também pode remover um atributo de escopo de tabela usando o método `table_att_unset`. Veja o comando abaixo:

alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
  • A captura de tela acima mostra o nome da tabela alterado com os atributos de escopo.
  • O método `table_att_unset` é usado para remover atributos presentes na tabela.
  • No segundo caso, estamos removendo o atributo MAX_FILESIZE.
  • Após a execução do comando, ele simplesmente removerá o atributo MAX_FILESIZE da tabela “education”.

alter_status

 Syntax: alter_status 'education'

A saída do comando alter_status é mostrada abaixo:

O comando `alter_status` do shell do HBase mostra que uma das regiões foi atualizada.

  • Por meio desse comando, você pode obter o status do comando alter.
  • Indica o número de regiões da tabela que receberam o esquema atualizado. Você informa o nome da tabela.
  • Aqui, na captura de tela acima, mostra 1/1 regiões atualizadas. Isso significa que uma região foi atualizada. Depois disso, se a atualização for bem-sucedida, a mensagem "concluído" será exibida.

Comandos de manipulação de dados

Esses comandos operam na tabela para manipulação de dados, como inserir dados em uma tabela, recuperar dados de uma tabela e excluir esquemas, etc. Os comandos que se enquadram nessa categoria são:

  • Contar
  • colocar
  • BAIXE
  • Apagar
  • apagar tudo
  • Truncar
  • Escanear

Vamos analisar o uso desses comandos com um exemplo. Veja também leitura e gravação de dados HBase.

Contar

Syntax: count <'tablename'>, CACHE =>1000
  • O comando irá recuperar a quantidade de linhas em uma tabela. O valor retornado por este comando é o número de linhas.
  • Por padrão, a contagem atual é exibida a cada 1000 linhas.
  • O intervalo de contagem pode ser especificado opcionalmente.
  • O tamanho padrão do cache é de 10 linhas.
  • O comando de contagem funcionará rapidamente quando estiver configurado com o cache correto.

Exemplo:

hbase> count 'guru99', CACHE=>1000

O resultado da contagem é mostrado abaixo:

O comando `count` do shell do HBase retorna a contagem de linhas da tabela `guru99`.

Este exemplo de contagem busca 1000 linhas por vez da tabela “guru99”. Podemos diminuir o valor do cache se a tabela tiver mais linhas. Mas, por padrão, ele buscará uma linha por vez.

hbase>count 'guru99', INTERVAL => 100000
hbase> count 'guru99', INTERVAL =>10, CACHE=> 1000

Suponha que a tabela “guru99” tenha alguma referência de tabela, como por exemplo, g. Podemos executar o comando count também na referência da tabela, como abaixo:

hbase>g.count INTERVAL=>100000
hbase>g.count INTERVAL=>10, CACHE=>1000

colocar

Syntax:  put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>

Este comando é usado para os seguintes fins:

  • Ele colocará um 'valor' de célula em uma tabela, linha ou coluna definida ou especificada.
  • Opcionalmente, poderá incluir um registro de data e hora.

Exemplo: Aqui, estamos inserindo valores na tabela “guru99” na linha r1 e coluna c1.

hbase> put 'guru99', 'r1', 'c1', 'value', 10

Inserimos três valores, 10, 15 e 30, na tabela “guru99”, conforme mostrado na captura de tela abaixo.

O comando `put` do shell do HBase inseriu os valores 10, 15 e 30 na tabela guru99.

Suponha que a tabela “guru99” tenha alguma referência de tabela, como por exemplo, g. Também podemos executar o comando na referência da tabela, como:

hbase> g.put 'guru99', 'r1', 'c1', 'value', 10

O resultado será como mostrado na captura de tela acima, após inserir valores em “guru99”. Para verificar se o valor de entrada foi inserido corretamente na tabela, usamos o comando “scan”. Na captura de tela abaixo, podemos ver que os valores foram inseridos corretamente.

Saída da verificação do shell do HBase confirmando os valores inseridos na tabela guru99.

Code Trecho: Para praticar

create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}
put 'guru99', 'r1', 'Edu:c1', 'value', 10
put 'guru99', 'r1', 'Edu:c1', 'value', 15
put 'guru99', 'r1', 'Edu:c1', 'value', 30

A partir do trecho de código, estamos fazendo o seguinte:

  • Aqui, estamos criando uma tabela chamada 'guru99' com o nome da coluna sendo "Edu".
  • Ao usar o comando “put”, estamos inserindo valores na linha r1, coluna “Edu”, na tabela “guru99”.

BAIXE

Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}

Aqui, Inclua TIMERANGE, TIMESTAMP, VERSIONS e FILTERS. Ao usar este comando, você obterá o conteúdo de uma linha ou célula presente na tabela. Além disso, você também pode adicionar parâmetros adicionais, como TIMESTAMP, TIMERANGE, VERSIONS, FILTERS, etc., para obter o conteúdo de uma linha ou célula específica.

O comando `get` abaixo retorna os valores da linha r1 e da coluna c1:

O comando `get` do shell HBase retorna a linha r1 e a coluna c1 da tabela guru99.

Exemplos:-

hbase> get 'guru99', 'r1', {COLUMN => 'c1'}

Para a tabela “guru99”, os valores da linha r1 e da coluna c1 serão exibidos usando este comando, conforme mostrado na captura de tela acima.

hbase> get 'guru99', 'r1'

Para a tabela “guru99”, os valores da linha r1 serão exibidos usando este comando.

hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}

Para a tabela “guru99”, os valores da linha r1 no intervalo de tempo ts1 a ts2 serão exibidos usando este comando.

hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}

Para a tabela “guru99”, os valores da linha r1 e das famílias de colunas c1, c2 e c3 serão exibidos usando este comando.

Apagar

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • Este comando irá apagar o valor da célula em uma linha ou coluna definida da tabela.
  • A função Delete deve e precisa corresponder exatamente às coordenadas da célula excluída.
  • Durante a digitalização, a exclusão de uma célula suprime as versões mais antigas dos valores.

Exemplo: O comando delete abaixo remove as células r1 e c1 da tabela guru99:

O comando delete do shell do HBase remove a célula r1 c1 da tabela guru99.

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
  • A execução acima excluirá a linha r1 da família de colunas c1 na tabela “guru99”.
  • Suponha que a tabela “guru99” tenha alguma referência de tabela, como por exemplo g.
  • Também podemos executar o comando na referência da tabela, como hbase> g.delete 'guru99', 'r1', 'c1'.

excluir tudo

Syntax: deleteall <'tablename'>, <'rowname'>
  • Este comando apagará todas as células de uma determinada linha.
  • Opcionalmente, podemos definir nomes de colunas e um registro de data e hora na sintaxe.

Exemplo: O comando deleteall abaixo remove todas as células da linha r1:

O comando deleteall do shell HBase remove todas as células da linha r1 da tabela guru99.

hbase>deleteall 'guru99', 'r1', 'c1'

Isso excluirá todas as linhas e colunas presentes na tabela. Opcionalmente, podemos mencionar os nomes das colunas.

Truncar

Syntax:  truncate <tablename>

O comando truncate abaixo esvazia a tabela enquanto keeping seu esquema:

Desativação do comando truncate do shell HBase, removerpinge recriando a tabela guru99

Após o truncamento de uma tabela HBase, o esquema estará presente, mas não os registros. Este comando executa 3 funções; elas estão listadas abaixo:

  • Desativa a tabela se ela já existir.
  • Remove a tabela se ela já existir.
  • Recria a tabela mencionada.

Escanear

Syntax: scan <'tablename'>, {Optional parameters}

Este comando examina a tabela inteira e exibe o seu conteúdo.

  • Podemos passar diversas especificações opcionais a este comando scan para obter mais informações sobre as tabelas presentes no sistema.
  • As especificações do scanner podem incluir um ou mais dos seguintes atributos.
  • São eles: TIMERANGE, FILTER, TIMESTAMP, LIMIT, MAXLENGTH, COLUMNS, CACHE, STARTROW e STOPROW.
scan 'guru99'

O resultado da digitalização é mostrado abaixo:

O comando de varredura do shell do HBase exibe as linhas r1, r2 e r3 da tabela guru99.

Na captura de tela acima:

  • A imagem mostra a tabela “guru99” com os nomes e valores das colunas.
  • Consiste em três valores de linha, r1, r2 e r3, para o valor de coluna único c1.
  • Exibe os valores associados às linhas.

Exemplos: - Os diferentes usos do comando scan:

Command Uso
digitalizar '.META.', {COLUMNS => 'info:regioninfo'} Exibe todas as informações de metadados relacionadas às colunas presentes nas tabelas do HBase.
digitalizar 'guru99', {COLUMNS => ['c1', 'c2'], LIMITE => 10, STARTROW => 'xyz'} Exibe o conteúdo da tabela guru99 com suas famílias de colunas c1 e c2, limitando os valores a 10.
digitalizar 'guru99', {COLUNAS => 'c1', TIMERANGE => [1303668804, 1303668904]} Exibe o conteúdo de guru99, com a coluna nomeada c1, contendo os valores presentes no intervalo de tempo especificado pelo atributo.
digitalizar 'guru99', {RAW => verdadeiro, VERSÕES =>10} Neste comando, RAW=> true fornece um recurso avançado, como exibir todos os valores de célula presentes na tabela guru99.

Code Exemplo: Primeiro, crie uma tabela e insira valores nela. A entrada é mostrada na captura de tela abaixo:

Entrada do shell HBase criando a tabela guru99 e inserindo valores versionados antes de uma varredura bruta.

create 'guru99', {NAME=>'e', VERSIONS=>2147483647}
put 'guru99', 'r1', 'e:c1', 'value', 10
put 'guru99', 'r1', 'e:c1', 'value', 12
put 'guru99', 'r1', 'e:c1', 'value', 14
delete 'guru99', 'r1', 'e:c1', 11

Se executarmos o comando de varredura:

Query: scan 'guru99', {RAW=>true, VERSIONS=>1000}

Será exibida a saída mostrada abaixo:

Saída de varredura bruta do shell do HBase mostrando várias versões de células, incluindo um valor excluído.

A saída mostrada na captura de tela acima fornece as seguintes informações:

  • Analisando a tabela guru99 com os atributos RAW=>true, VERSIONS=>1000.
  • Exibição de linhas com famílias de colunas e valores.
  • Na terceira linha, os valores exibidos mostram o valor excluído presente na coluna.
  • O resultado exibido é aleatório; não pode estar na mesma ordem dos valores que inserimos na tabela.

Cluster Comandos de replicação

  • Esses comandos funcionam no modo de configuração de cluster do HBase.
  • Para adicionar e remover nós de um cluster, bem como para iniciar e parar a replicação, são utilizados estes comandos em geral.
Command Funcionalidade
add_peer Adiciona nós a um cluster para replicação.
hbase> add_peer '3', zk1,zk2,zk3:2182:/hbase-prod
remover_peer Interrompe o fluxo de replicação definido e exclui todas as informações de metadados sobre o par.
hbase> remove_peer '1'
start_replication Reinicia todas as funcionalidades de replicação.
hbase> start_replication
parar_replicação Interrompe todas as funcionalidades de replicação.
hbase>stop_replication

Perguntas Frequentes

Digite `exit` ou `quit` e pressione Enter para sair do shell interativo do HBase e retornar ao prompt do sistema operacional. Você abre o shell com o comando `hbase shell`. Nem `exit` nem `quit` interrompem o serviço do HBase; eles apenas encerram a sessão do shell.

Sim. Você pode usar o comando `pipe` para inserir comandos de forma não interativa, por exemplo, `echo "list" | hbase shell`, ou executar um arquivo salvo com `hbase shell script.txt`. Como o shell é baseado em JRuby, você também pode incorporar lógica Ruby e loops dentro de arquivos de script `.rb`.

O shell é um prompt interativo do JRuby para comandos manuais rápidos e administração. Java A API, que utiliza Connection, Admin e Table, destina-se a aplicações que criam tabelas e leem ou gravam dados programaticamente. Ambas acessam o mesmo cluster HBase e os mesmos dados.

O erro “A tabela já existe” aparece quando o comando `create` repete um nome já existente, e o erro “Tabela não desativada” aparece quando você tenta excluir ou alterar a tabela sem desativá-la primeiro. Execute `disable 'table'` antes de excluir ou alterar a tabela, e use `exists 'table'` para verificar um nome antes de criá-la.

Uma família de colunas do HBase mantém um número limitado de versões com carimbo de data/hora por célula, historicamente três e uma em versões mais recentes. Defina a contagem com VERSIONS no momento da criação ou alteração e solicite versões mais antigas usando {VERSIONS => n} em um comando get ou scan.

Uma variável de referência de tabela é um objeto shell retornado por `g = get_table 'guru99'`. Você então chama métodos nela, como `g.put`, `g.get` ou `g.count`, em vez de repetir o nome da tabela. É um atalho conveniente no estilo JRuby no shell do HBase.

Assistentes de codificação com IA e grandes modelos de linguagem geram comandos do shell do HBase a partir de solicitações em linguagem natural, explicam opções desconhecidas, como filtros de varredura ou TTL, e ajudam a depurar erros. O aprendizado de máquina também analisa métricas do cluster para orientar a replicação e o ajuste de regiões, embora um engenheiro deva verificar cada comando.

Sim. Travas deslizantes portáteis Copiloto do GitHub Sugere comandos do shell do HBase e scripts JRuby a partir de um breve comentário, incluindo exemplos de criação, inserção, verificação e alteração. RevVerifique se o resultado indica o nome correto da tabela, as famílias de colunas e a sintaxe, como VERSIONS, antes de executá-lo em um cluster real.

Resuma esta postagem com: