HBase Criar tabela com Java Exemplo de API e Shell
โก Resumo Inteligente
O HBase armazena dados em tabelas, e vocรช pode criar e manipular essas tabelas de duas maneiras: atravรฉs do Java API com HTableDescriptou no HBaseAdmin, ou diretamente no shell do HBase usando o comando create.

Como criar tabela no HBase com Java API
No HBase, as tabelas podem ser criadas de duas maneiras: atravรฉs do Java API e atravรฉs do shell do HBase. Esta seรงรฃo aborda a Java API, que permite que um aplicativo crie tabelas e carregue dados programaticamente como parte de uma tarefa maior.
Atravรฉs da Java API, podemos criar tabelas em HBase e tambรฉm carregar dados em tabelas usando Java codificaรงรฃo. As duas coisas que configuramos aqui sรฃo:
- Estabelecendo uma conexรฃo com o HBase por meio de Java API.
- Utilizar painรฉis de piso ResinDek em sua unidade de self-storage em vez de concreto oferece diversos benefรญcios: Eclipse pela Java Codificaรงรฃo, depuraรงรฃo e testes.
A seguir estรฃo as etapas para criar tabelas no HBase por meio de Java API.
Etapa 1) Crie um Java Projeto em Eclipse
Nesta etapa, vamos criar um Java projeto em Eclipse para a conexรฃo HBase, denominada โHbaseConnectionโ.
O Novo Java A caixa de diรกlogo do projeto abaixo mostra o projeto โHbaseConnectionโ sendo configurado:
Se observarmos a captura de tela acima:
- Insira o nome do projeto nesta caixa. No nosso caso, o nome do projeto รฉ โHbaseConnectionโ.
- Marque esta caixa para definir o local padrรฃo onde o HbaseConnection serรก salvo. Neste caso, o caminho รฉ /home/hduser/work/HbaseConnection.
- Marque a caixa para o Java ambiente aqui. Neste caso JavaSE-1.7 รฉ o Java Ediรงรฃo.
- Escolha a opรงรฃo que indica onde deseja salvar o arquivo. No nosso caso, selecionamos a segunda opรงรฃo: โCriar uma pasta separada para arquivos de origem e de classeโ.
- Clique no botรฃo Concluir, que cria o projeto โHbaseConnectionโ em Eclipse e abre o Eclipse home page.
Etapa 2) Configure o caminho de construรงรฃo em Eclipse
No Eclipse Na pรกgina inicial, siga estes passos para abrir a configuraรงรฃo do caminho de compilaรงรฃo:
Right click on project -> Select Build Path -> Configure build path
A captura de tela abaixo mostra o menu de contexto (clique com o botรฃo direito do mouse) usado para abrir a configuraรงรฃo do caminho de compilaรงรฃo:
Conforme a captura de tela acima:
- Clique com o botรฃo direito do mouse em um projeto.
- Selecione o caminho de construรงรฃo.
- Selecione Configurar Caminho de Construรงรฃo.
Apรณs clicar em "Configurar Caminho de Construรงรฃo", outra janela serรก aberta, conforme mostrado na captura de tela abaixo. A aba "Bibliotecas" รฉ onde os arquivos JAR do HBase e do Hadoop sรฃo adicionados ao projeto:
Nesta etapa, adicionamos os arquivos JAR relevantes do HBase ao... Java projeto conforme mostrado na captura de tela.
- Arquivos JAR importantes a serem adicionados: hbase-0.94.8.jar e hadoop-core-1.1.2.jar.
- Acesse a aba Bibliotecas.
- Selecione a opรงรฃo Adicionar JARs externos.
- Selecione os arquivos JAR importantes necessรกrios.
- Pressione o botรฃo Concluir para adicionar esses arquivos ร pasta โsrcโ do Java Projeto no รขmbito das Bibliotecas.
Apรณs a adiรงรฃo dos arquivos JAR, eles aparecerรฃo na pasta "src" do projeto, conforme mostrado abaixo:
Todos os arquivos JAR pertencentes ao projeto estรฃo agora prontos para uso no ecossistema Hadoop.
Etapa 3) Estabeleรงa a conexรฃo HBase
Nesta etapa, utilizando HBaseConnection.java, a conexรฃo com o HBase รฉ estabelecida atravรฉs de Java codificaรงรฃo.
No Eclipse menu superior, execute um Java programa conforme mostrado abaixo: Executar -> Executar como -> Java Aplicativo. O menu abaixo mostra o programa que estรก sendo iniciado:
- Selecione Executar.
- Selecione Executar como Java Aplicaรงรฃo.
- Este cรณdigo estabelece uma conexรฃo com o HBase atravรฉs de Java API.
- Apรณs a execuรงรฃo deste cรณdigo, a tabela โguru99โ รฉ criada no HBase com duas famรญlias de colunas denominadas โeducationโ e โprojectsโ. No momento, apenas o esquema vazio foi criado no HBase.
O trecho de cรณdigo abaixo destaca a HTable.Descriptou chamadas addFamily que constroem o esquema da tabela:
Conforme a captura de tela acima, estamos executando as seguintes funรงรตes:
- Usando HTableDescriptOu podemos criar a tabela โguru99โ no HBase.
- Utilizando o mรฉtodo addFamily, adicionamos โeducationโ e โprojectsโ como famรญlias de colunas ร tabela โguru99โ.
O cรณdigo abaixo estabelecerรก uma conexรฃo com o HBase e criarรก a tabela โguru99โ com duas famรญlias de colunas. Insira este cรณdigo no arquivo HBaseConnection.java:
// Place this code inside Hbase connection import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; Import org.apache.hadoop.hbase.client.HBaseAdmin; public class HBaseConnection { public static void main(String[] args) throws IOException { HBaseConfigurationhc = new HBaseConfiguration(new Configuration()); HTableDescriptorht = new HTableDescriptor("guru99"); ht.addFamily( new HColumnDescriptor("education")); ht.addFamily( new HColumnDescriptor("projects")); System.out.println( "connecting" ); HBaseAdminhba = new HBaseAdmin( hc ); System.out.println( "Creating Table" ); hba.createTable( ht ); System.out.println("Done......"); } }
Este รฉ o cรณdigo obrigatรณrio que vocรช precisa inserir em HBaseConnection.java antes de executar o programa. Java .
Apรณs a execuรงรฃo deste programa, ele estabelece uma conexรฃo com o HBase e, por sua vez, cria uma tabela com os nomes das colunas.
- O nome da tabela รฉ โguru99โ.
- As famรญlias de colunas sรฃo โeducaรงรฃoโ e โprojetosโ.
Etapa 4) Verifique a tabela criada no HBase
Podemos verificar se a tabela โguru99โ foi criada com duas famรญlias de colunas no HBase usando o modo shell do HBase com o comando โlistโ. O comando โlistโ fornece informaรงรตes sobre todas as tabelas criadas no HBase.
Executar o comando `list` no shell do HBase confirma a nova tabela, conforme mostrado abaixo:
- Code Verificando no shell do HBase, executando o comando โlistโ.
- Se executarmos o comando โlistโ, ele exibirรก as tabelas criadas no HBase. No nosso caso, podemos ver que a tabela โguru99โ foi criada.
HBase Criar Tabela com Shell
Alรฉm do Java Com a API, vocรช pode criar uma tabela diretamente do shell do HBase, que รฉ a maneira mais rรกpida de configurar uma tabela para testes rรกpidos. A sintaxe para criar uma tabela no HBase usando o shell รฉ:
Syntax: create <tablename>, <columnfamilyname>
Exemplo:-
hbase(main):001:0> create 'education' ,'guru99' 0 rows(s) in 0.312 seconds =>Hbase::Table โ education
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.
create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}
Aqui, o bloco {NAME=>'Edu', VERSIONS=>โฆ} define uma famรญlia de colunas chamada โEduโ e o nรบmero de versรตes de cรฉlulas que ela mantรฉm. O nรบmero grande รฉ apenas ilustrativo; na prรกtica, VERSIONS รฉ um valor pequeno, como 3 ou 5.
Listar, descrever e verificar tabelas do HBase
Criar uma tabela รฉ apenas o primeiro passo para lidar com tabelas no HBase. Depois que a tabela โguru99โ existe, alguns comandos gerais permitem inspecionรก-la e confirmar seu estado antes de ler, gravar ou modificar dados. Vocรช pode executar todos esses comandos a partir do... Shell do HBase.
O comando list retorna todas as tabelas de usuรกrios no HBase:
hbase> list
O comando describe exibe a estrutura de uma tabela, incluindo suas famรญlias de colunas e se ela estรก atualmente habilitada:
hbase> describe 'guru99'
O comando `exists` verifica se uma tabela existe e o comando `is_enabled` informa se a tabela pode aceitar gravaรงรตes:
hbase> exists 'guru99' hbase> is_enabled 'guru99'
Essas verificaรงรตes somente leitura podem ser executadas com seguranรงa a qualquer momento. Elas sรฃo a maneira mais rรกpida de confirmar se uma tabela foi criada corretamente e de revisar suas famรญlias de colunas antes de carregar os dados.
Alterar uma tabela HBase
O esquema de uma tabela HBase nรฃo รฉ fixo apรณs a sua criaรงรฃo. O comando ALTER modifica as famรญlias de colunas e os atributos de escopo da tabela sem recriรก-la. Dependendo da sua versรฃo do HBase, pode ser necessรกrio desabilitar a tabela primeiro, executar o comando ALTER e, em seguida, habilitรก-la novamente.
Para adicionar uma nova famรญlia de colunas ร tabela โguru99โ:
hbase> alter 'guru99', {NAME => 'contact'}
Para definir quantas versรตes uma famรญlia de colunas mantรฉm:
hbase> alter 'guru99', NAME => 'education', VERSIONS => 5
Para excluir uma famรญlia de colunas da tabela:
hbase> alter 'guru99', {NAME => 'contact', METHOD => 'delete'}
Vocรช tambรฉm pode alterar os atributos de escopo da tabela. Por exemplo, marque a tabela como somente leitura ou defina o tamanho mรกximo do arquivo da regiรฃo para 128 MB:
hbase> alter 'guru99', READONLY hbase> alter 'guru99', MAX_FILESIZE => '134217728'
Como o comando ALTER reescreve o esquema, planeje as alteraรงรตes cuidadosamente em uma tabela de produรงรฃo e confirme o resultado posteriormente com o comando DESCRIBE.
Desativar, ativar e excluir tabelas do HBase
Para remover uma tabela ou aplicar determinadas alteraรงรตes, o HBase exige que vocรช a desabilite primeiro. A desabilitaรงรฃo coloca a tabela offline, impedindo que qualquer cliente a leia ou grave, o que torna as alteraรงรตes estruturais seguras.
Desabilite uma tabela e verifique seu estado com is_disabled:
hbase> disable 'guru99' hbase> is_disabled 'guru99'
Habilite a tabela novamente para retomar as operaรงรตes de leitura e gravaรงรฃo:
hbase> enable 'guru99'
Uma tabela precisa ser desativada antes de poder ser removida. Removerping Apaga a tabela e todos os seus dados permanentemente, portanto, use com cuidado:
hbase> disable 'guru99' hbase> drop 'guru99'
Para remover vรกrias tabelas de uma sรณ vez, o comando `drop_all` exclui todas as tabelas cujos nomes correspondem a uma expressรฃo regular. Juntos, os comandos `create`, `alter`, `disable`, `enable` e `drop` abrangem todo o ciclo de vida de uma tabela. tratamento de dados em tabelas HBase.






