HBase Crear tabla con Java Ejemplo de API y shell
โก Resumen inteligente
HBase almacena datos en tablas, y puede crear y manejar esas tablas de dos maneras: a travรฉs de la Java API con HTableDescripto bien HBaseAdmin, o directamente en la consola de HBase usando el comando create.

Cรณmo crear una tabla en HBase con Java API
En HBase, las tablas se pueden crear de dos maneras: a travรฉs de la Java API y a travรฉs del shell de HBase. Esta secciรณn cubre la Java API, que permite a una aplicaciรณn crear tablas y cargar datos mediante programaciรณn como parte de una tarea mรกs amplia.
A travรฉs de la Java API, podemos crear tablas en HBase y tambiรฉn cargar datos en tablas usando Java codificaciรณn. Las dos cosas que configuramos aquรญ son:
- Establecer una conexiรณn con HBase a travรฉs de Java API.
- El uso de Eclipse por la Java codificaciรณn, depuraciรณn y pruebas.
A continuaciรณn se muestran los pasos para crear tablas en HBase a travรฉs de Java API.
Paso 1) Crea un Java Proyecto en Eclipse
En este paso, vamos a crear un Java proyecto en Eclipse para la conexiรณn HBase, denominada โHbaseConnectionโ.
The New Java El cuadro de diรกlogo del proyecto que aparece a continuaciรณn muestra cรณmo se estรก configurando el proyecto "HbaseConnection":
Si observamos la captura de pantalla anterior:
- Introduzca el nombre del proyecto en este recuadro. En nuestro caso, el nombre del proyecto es โHbaseConnectionโ.
- Marque esta casilla para establecer la ubicaciรณn predeterminada donde se guardarรก la conexiรณn. En este caso, la ruta es /home/hduser/work/HbaseConnection.
- Marque la casilla de la Java ambiente aquรญ. En este caso JavaSE-1.7 es el Java ediciรณn.
- Seleccione la opciรณn donde desea guardar el archivo. En nuestro caso, seleccionamos la segunda opciรณn: "Crear una carpeta separada para archivos fuente y de clase".
- Haga clic en el botรณn Finalizar, que crea el proyecto โHbaseConnectionโ en Eclipse y abre el Eclipse
Paso 2) Configure la ruta de compilaciรณn en Eclipse
En la Eclipse Pรกgina de inicio, siga estos pasos para abrir la configuraciรณn de la ruta de compilaciรณn:
Right click on project -> Select Build Path -> Configure build path
La siguiente captura de pantalla muestra el menรบ contextual que se utiliza para abrir la configuraciรณn de la ruta de compilaciรณn:
Segรบn la captura de pantalla anterior:
- Haz clic con el botรณn derecho en un proyecto.
- Seleccione la ruta de compilaciรณn.
- Seleccione Configurar ruta de compilaciรณn.
Tras hacer clic en Configurar ruta de compilaciรณn, se abre otra ventana, como se muestra en la captura de pantalla a continuaciรณn. En la pestaรฑa Bibliotecas es donde se aรฑaden los archivos JAR de HBase y Hadoop al proyecto:
En este paso, agregamos los JAR de HBase relevantes al Java proyecto tal como se muestra en la captura de pantalla.
- Archivos JAR importantes que deben agregarse: hbase-0.94.8.jar y hadoop-core-1.1.2.jar.
- Dirรญgete a la pestaรฑa Bibliotecas.
- Pulse la opciรณn Agregar JAR externos.
- Seleccione los archivos JAR importantes necesarios.
- Presione el botรณn Finalizar para agregar estos archivos al โsrcโ de la Java proyecto dentro de Bibliotecas.
Una vez aรฑadidos los archivos JAR, aparecerรกn en la ubicaciรณn "src" del proyecto, como se muestra a continuaciรณn:
Todos los archivos JAR que forman parte del proyecto ya estรกn listos para su uso con el ecosistema Hadoop.
Paso 3) Establecer la conexiรณn HBase
En este paso, utilizando HBaseConnection.java, se establece la conexiรณn HBase a travรฉs de Java codificaciรณn.
En la Eclipse menรบ superior, ejecutar una Java programa como se muestra a continuaciรณn: Ejecutar -> Ejecutar como -> Java Aplicaciรณn. El menรบ que aparece a continuaciรณn muestra el programa que se estรก iniciando:
- Seleccione Ejecutar.
- Seleccione Ejecutar como Java Solicitud.
- Este cรณdigo establece una conexiรณn con HBase a travรฉs de Java API.
- Tras ejecutar este cรณdigo, se crea la tabla โguru99โ en HBase con dos familias de columnas llamadas โeducationโ y โprojectsโ. Actualmente, solo se crea el esquema vacรญo en HBase.
El fragmento de cรณdigo que aparece a continuaciรณn resalta la tabla HTable.Descripto bien, y las llamadas a addFamily que construyen el esquema de la tabla:
En la captura de pantalla anterior, estamos realizando las siguientes funciones:
- Usando HTableDescripto bien, podemos crear la tabla โguru99โ en HBase.
- Utilizando el mรฉtodo addFamily, aรฑadimos โeducationโ y โprojectsโ como familias de columnas a la tabla โguru99โ.
El siguiente cรณdigo establecerรก una conexiรณn con HBase y crearรก la tabla โguru99โ con dos familias de columnas. Coloque este cรณdigo debajo del documento 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 es el cรณdigo requerido que debe colocar en HBaseConnection.java antes de ejecutar el Java .
Tras ejecutar este programa, se establece una conexiรณn con HBase y, a su vez, se crea una tabla con nombres de columna.
- El nombre de la tabla es โguru99โ.
- Las familias de columnas son โeducaciรณnโ y โproyectosโ.
Paso 4) Verifique la tabla creada en HBase
Podemos comprobar si la tabla โguru99โ se creรณ con dos familias de columnas en HBase utilizando el modo de consola de HBase con el comando โlistโ. El comando โlistโ proporciona informaciรณn sobre todas las tablas creadas en HBase.
Al ejecutar el comando de lista en la consola de HBase, se confirma la nueva tabla, como se muestra a continuaciรณn:
- Code Comprobando en la consola de HBase ejecutando el comando โlistโ.
- Si ejecutamos el comando โlistโ, se mostrarรกn las tablas creadas en HBase. En nuestro caso, podemos ver que se ha creado la tabla โguru99โ.
HBase Crear tabla con Shell
Ademรกs de la Java Mediante la API, puede crear una tabla directamente desde la consola de HBase, que es la forma mรกs rรกpida de configurar una tabla para realizar pruebas rรกpidas. La sintaxis para crear una tabla en HBase mediante la consola es:
Syntax: create <tablename>, <columnfamilyname>
Ejemplo:-
hbase(main):001:0> create 'education' ,'guru99' 0 rows(s) in 0.312 seconds =>Hbase::Table โ education
El ejemplo anterior explica cรณmo crear una tabla en HBase con el nombre especificado segรบn las caracterรญsticas de cada familia de columnas. Ademรกs, tambiรฉn podemos pasarle atributos especรญficos de la tabla.
create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}
Aquรญ, el bloque {NAME=>'Edu', VERSIONS=>โฆ} define una familia de columnas llamada โEduโ y el nรบmero de versiones de celda que conserva. El nรบmero elevado es solo un ejemplo; en la prรกctica, VERSIONS es un valor pequeรฑo, como 3 o 5.
Enumerar, describir y verificar las tablas de HBase.
Crear una tabla es solo la primera parte del manejo de tablas en HBase. Una vez que existe la tabla "guru99", algunos comandos generales le permiten inspeccionarla y confirmar su estado antes de leer, escribir o modificar datos. Puede ejecutar todos ellos desde el Caparazรณn HBase.
El comando de lista devuelve todas las tablas de usuario en HBase:
hbase> list
El comando describe muestra la estructura de una tabla, incluyendo sus familias de columnas y si estรก habilitada actualmente:
hbase> describe 'guru99'
El comando exists comprueba si existe una tabla, e is_enabled informa si la tabla puede aceptar escrituras:
hbase> exists 'guru99' hbase> is_enabled 'guru99'
Estas comprobaciones de solo lectura se pueden ejecutar de forma segura en cualquier momento. Son la manera mรกs rรกpida de confirmar que una tabla se creรณ correctamente y de revisar sus familias de columnas antes de cargar los datos.
Modificar una tabla de HBase
El esquema de una tabla de HBase no es fijo tras su creaciรณn. El comando `alter` modifica las familias de columnas y los atributos del รกmbito de la tabla sin recrearla. Dependiendo de su versiรณn de HBase, es posible que deba deshabilitar la tabla primero, luego ejecutar `alter` y volver a habilitarla.
Para agregar una nueva familia de columnas a la tabla โguru99โ:
hbase> alter 'guru99', {NAME => 'contact'}
Para configurar cuรกntas versiones conserva una familia de columnas:
hbase> alter 'guru99', NAME => 'education', VERSIONS => 5
Para eliminar una familia de columnas de la tabla:
hbase> alter 'guru99', {NAME => 'contact', METHOD => 'delete'}
Tambiรฉn puede cambiar los atributos del รกmbito de la tabla. Por ejemplo, marcar la tabla como de solo lectura o establecer el tamaรฑo mรกximo del archivo de regiรณn en 128 MB:
hbase> alter 'guru99', READONLY hbase> alter 'guru99', MAX_FILESIZE => '134217728'
Dado que la modificaciรณn reescribe el esquema, planifique los cambios cuidadosamente en una tabla de producciรณn y confirme el resultado posteriormente con la funciรณn describe.
Deshabilitar, habilitar y eliminar tablas de HBase
Para eliminar una tabla o aplicar ciertos cambios, HBase requiere que primero la desactives. Al desactivarla, la tabla queda fuera de lรญnea, impidiendo que cualquier cliente pueda leerla o escribir en ella, lo que garantiza la seguridad de los cambios estructurales.
Deshabilita una tabla y comprueba su estado con is_disabled:
hbase> disable 'guru99' hbase> is_disabled 'guru99'
Vuelva a habilitar la tabla para reanudar las operaciones de lectura y escritura:
hbase> enable 'guru99'
Una tabla debe estar deshabilitada antes de poder ser eliminada. Eliminarping Elimina la tabla y todos sus datos de forma permanente, asรญ que รบselo con cuidado:
hbase> disable 'guru99' hbase> drop 'guru99'
Para eliminar varias tablas a la vez, drop_all elimina todas las tablas cuyo nombre coincide con una expresiรณn regular. Juntos, create, alter, disable, enable y drop cubren el ciclo de vida completo de manejo de datos en tablas de HBase.






