Comandos de HBase Shell con ejemplos

⚡ Resumen inteligente

Los comandos de la consola de HBase permiten administrar tablas y datos directamente desde una línea de comandos interactiva, agrupados en comandos generales, comandos de administración de tablas como crear y eliminar, comandos de manipulación de datos como poner y obtener, y comandos de replicación de clústeres.

  • 🖥️ Comandos generales: status, version, table_help y whoami informan sobre el estado del clúster y la información del usuario.
  • 🗂️ Gestión de tablas: crear, listar, describir, deshabilitar, habilitar, eliminar y modificar tablas de construcción y remodelación.
  • ✏️ Manipulación de datos: insertar, obtener, eliminar, eliminar todo, truncar, contar y escanear leer y escribir valores de celda.
  • 🔁 Cluster replicación: Las funciones add_peer, remove_peer, start_replication y stop_replication gestionan la replicación de datos.
  • Atributo TTL: La función Tiempo de vida hace que las filas de una familia de columnas caduquen automáticamente después de un número determinado de segundos.
  • 🤖 Asistencia de IA: Los asistentes de IA generan y explican comandos de la consola de HBase a partir de indicaciones en lenguaje natural.

Comandos de la consola de HBase con ejemplos para tablas, datos y replicación de clústeres.

Cómo interactuar con HBase usando comandos de shell y Java API

Tras una instalación exitosa de HBase sobre Hadoop, disponemos de una consola interactiva para ejecutar diversos comandos y realizar varias operaciones. Mediante estos comandos, podemos realizar múltiples operaciones en las tablas de datos, lo que proporciona una mayor eficiencia en el almacenamiento de datos y una interacción más flexible para el cliente.

Podemos interactuar con HBase de dos maneras:

  • modo de consola interactiva de HBase y
  • A través de la Java API.

En HBase, el modo de consola interactiva se utiliza para interactuar con HBase para operaciones de tabla, administración de tablas y modelado de datos. Utilizando el Java Modelo API, podemos realizar todo tipo de operaciones de tablas y datos en HBase. Podemos interactuar con HBase utilizando ambos métodos. La única diferencia entre los dos es que Java Usos de la API Java El modo shell utiliza código para conectarse con HBase, mientras que el modo shell utiliza comandos de shell para conectarse con HBase.

Breve repaso de HBase antes de continuar:

  • Usos de HBase Hadoop HBase utiliza archivos como sistema de almacenamiento para guardar grandes cantidades de datos. HBase consta de servidores maestros y servidores de región.
  • Los datos que se almacenarán en HBase estarán organizados en regiones. Posteriormente, estas regiones se dividirán y se almacenarán en varios servidores de regiones.
  • Estos comandos de shell permiten al programador definir esquemas de tablas y operaciones de datos mediante la interacción completa en modo shell.
  • Cualquier comando que utilicemos se reflejará en el modelo de datos de HBase.
  • Utilizamos comandos de shell de HBase en intérpretes de scripts del sistema operativo, como el shell Bash.
  • El intérprete de comandos Bash es el intérprete de comandos predeterminado para la mayoría de los sistemas operativos. Linux y distribuciones del sistema operativo Unix.
  • Las versiones avanzadas de HBase proporcionan comandos de shell con referencias orientadas a objetos al estilo JRuby para las tablas.
  • Las variables de referencia de tabla se pueden utilizar para realizar operaciones de datos en el modo shell de HBase.

Por ejemplo:

  • En este tutorial, hemos creado una tabla en la que "education" representa el nombre de la tabla y corresponde al nombre de la columna "guru99".
  • En algunos comandos, "guru99" representa el nombre de una tabla.

Comandos generales

En HBase, los comandos generales se clasifican en los siguientes comandos:

  • Estado
  • Versión
  • Table_help (escanear, soltar, obtener, colocar, deshabilitar, etc.)
  • Quién soy

Para acceder al comando de la consola de HBase, primero debemos ejecutar el código que se menciona a continuación.

hbase Shell

Una vez que accedemos a la consola de HBase, podemos ejecutar todos los comandos que se mencionan a continuación. Con estos comandos, podemos realizar todo tipo de operaciones con tablas en el modo de consola de HBase. El indicador de la consola interactiva aparece como se muestra a continuación:

Se abrió el indicador de shell interactivo de HBase con el comando hbase shell.

Analicemos todos estos comandos y su uso uno por uno con un ejemplo.

Estado

Syntax:status

Este comando proporciona detalles sobre el estado del sistema, como el número de servidores en el clúster, la cantidad de servidores activos y la carga promedio. También puede especificar parámetros según el nivel de detalle que desee para conocer el estado del sistema. Los parámetros pueden ser "summary", "simple" o "detailed"; el parámetro predeterminado es "summary".

A continuación, mostramos cómo se pueden pasar diferentes parámetros al comando status. Si observamos la siguiente captura de pantalla, lo entenderemos mejor.

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

A continuación se muestra el estado:

Salida del comando de estado de la consola de HBase que muestra los servidores activos, los servidores inactivos y la carga promedio.

Al ejecutar este comando de estado, se muestra información sobre la cantidad de servidores activos, inactivos y la carga promedio del servidor. En la captura de pantalla se observa que hay 1 servidor activo, 1 inactivo y una carga promedio de 7.0000.

Versión

Syntax: version

La versión mostrada se presenta a continuación:

Comando de shell de HBase que muestra la versión de HBase instalada

  • Este comando mostrará la versión de HBase que se está utilizando actualmente en modo de línea de comandos.
  • Si ejecuta el comando de versión, obtendrá una salida como la que se muestra arriba.

Tabla de ayuda

Syntax:table_help

A continuación se muestra la salida de table_help:

La salida de table_help de la consola de HBase muestra el uso de los comandos create y get_table.

Esta guía de comandos:

  • Qué son los comandos referenciados a tablas y cómo utilizarlos.
  • Proporcionará diferentes ejemplos de uso de comandos de la consola de HBase y sus sintaxis.
  • En la captura de pantalla anterior, se muestra la sintaxis de los comandos "create" y "get_table", junto con su uso. Podemos manipular la tabla mediante estos comandos una vez creada en HBase.
  • Proporcionará comandos de manipulación de tablas como put, get y toda la demás información de comandos.

whoami

Syntax: Whoami

La salida de whoami se muestra a continuación:

El comando whoami de la consola de HBase devuelve el usuario hduser y los grupos actuales.

El comando “whoami” se utiliza para obtener la información del usuario actual de HBase desde el clúster de HBase. Proporcionará información como:

  • Grupos presentes en HBase.
  • La información del usuario; por ejemplo, en este caso "hduser" representa el nombre de usuario como se muestra en la captura de pantalla.

TTL (Tiempo de vida) – Atributo

En HBase, las familias de columnas pueden configurarse con valores de tiempo en segundos mediante TTL. HBase eliminará automáticamente las filas una vez transcurrido el tiempo de expiración. Este atributo se aplica a todas las versiones de una fila, incluso a la versión actual.

El tiempo TTL codificado en HBase para la fila se especifica en UTC. Este atributo se utiliza con los comandos de administración de tablas. A continuación se muestran las diferencias importantes entre el manejo de TTL y los TTL de las familias de columnas:

  • Los TTL de las células se expresan en unidades de milisegundos en lugar de segundos.
  • El TTL de una celda no puede extender la vida útil efectiva de una celda más allá de la configuración TTL a nivel de familia de columnas.

Comandos de gestión de tablas.

Estos comandos permitirán a los programadores crear tablas y esquemas de tablas con filas y familias de columnas. A continuación se muestran los comandos de administración de tablas:

  • Crear
  • Lista
  • Describir
  • Deshabilitar
  • Desactivar todo
  • Activar
  • Activar todo
  • Necesario
  • Drop_all
  • Mostrar filtros
  • Alterar
  • Alterar_estado

Veamos algunos ejemplos de uso de comandos en HBase.

Crear

Syntax: create <tablename>, <columnfamilyname>

Ejemplo:-

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

El resultado del comando de creación se muestra a continuación:

Comando de creación de la consola de HBase para construir la tabla de educación con la familia de columnas guru99.

El ejemplo anterior explica cómo crear una tabla en HBase con el nombre especificado según las especificaciones de cada familia de columnas. Además, también podemos pasarle algunos atributos de ámbito de tabla. Para comprobar si la tabla 'education' se ha creado o no, utilizamos el comando "list" que se muestra a continuación. Véase también crear tablas HBase con Java y concha.

Lista

Syntax:list

La lista resultante se muestra a continuación:

Comando de lista de la consola de HBase que muestra ocho tablas existentes en HBase.

  • El comando “list” mostrará todas las tablas que existen o que se han creado en HBase.
  • La información que se muestra en la captura de pantalla anterior muestra actualmente las tablas existentes en HBase.
  • En esta captura de pantalla se muestra que hay un total de 8 tablas presentes en HBase.
  • Podemos filtrar los valores de salida de las tablas pasando parámetros de expresiones regulares opcionales.

Describir

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

La salida de la descripción se muestra a continuación:

Salida del comando de descripción de la consola de HBase que detalla las familias de columnas de la tabla de educación

Este comando describe la tabla nombrada.

  • Proporcionará más información sobre las familias de columnas presentes en la tabla mencionada.
  • En nuestro caso, proporciona la descripción de la tabla “educación”.
  • Proporcionará información sobre el nombre de la tabla, las familias de columnas, los filtros asociados, las versiones y algunos detalles más.

inhabilitar

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

La salida de desactivación se muestra a continuación:

El comando de desactivación de la consola de HBase desconecta la tabla de educación.

  • Este comando comenzará a deshabilitar la tabla especificada.
  • Si es necesario eliminar o borrar una tabla, primero hay que deshabilitarla.

Aquí, en la captura de pantalla anterior, estamos desactivando la educación de la tabla.

Desactivar todo

 Syntax: disable_all<"matching regex"
  • Este comando deshabilitará todas las tablas que coincidan con la expresión regular dada.
  • La implementación es la misma que la del comando drop (excepto por la adición de una expresión regular para la coincidencia).
  • Una vez que la tabla se desactiva, el usuario puede eliminarla de HBase.
  • Antes de eliminar o soltarping una tabla, primero debe deshabilitarse.

Activar

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

La salida de habilitación se muestra a continuación:

Comando de habilitación de la consola de HBase que reactiva la tabla de educación deshabilitada

  • Este comando comenzará a habilitar la tabla especificada.
  • Para recuperar la tabla que esté deshabilitada y devolverla a su estado anterior, utilizamos este comando.
  • Si una tabla está deshabilitada en primera instancia y no se elimina ni se borra, y si queremos reutilizar la tabla deshabilitada, entonces tenemos que habilitarla usando este comando.
  • Aquí, en la captura de pantalla anterior, estamos habilitando la tabla "educación".

mostrar filtros

Syntax: show_filters

A continuación se muestra el resultado de show_filters:

La salida del comando show_filters de la consola de HBase muestra los filtros disponibles.

Este comando muestra todos los filtros presentes en HBase, como ColumnPrefixFilter, TimestampsFilter, PageFilter, FamilyFilter, etc.

caer

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

El resultado de la caída se muestra a continuación:

Comando de shell de HBase para eliminar la tabla de educación deshabilitada

Debemos observar los siguientes puntos para el comando drop:

  • Para eliminar la tabla presente en HBase, primero debemos deshabilitarla.
  • Para eliminar la tabla presente en HBase, primero debemos deshabilitarla.
  • Por lo tanto, para eliminar una tabla, primero se debe deshabilitar la tabla utilizando el comando disable.
  • Aquí, en la captura de pantalla anterior, estamos cayendoping la tabla “educación”.
  • Antes de ejecutar este comando, es necesario que desactive la tabla “education”.

soltar_todo

Syntax: drop_all<"regex">
  • Este comando eliminará todas las tablas que coincidan con la expresión regular dada.
  • Las tablas deben deshabilitarse primero, antes de ejecutar este comando, usando disable_all.
  • Las tablas con expresiones regulares que coincidan con las expresiones regulares se eliminarán de HBase.

está habilitado

Syntax: is_enabled 'education'

Este comando verificará si la tabla especificada está habilitada o no. Normalmente, existe cierta confusión entre las acciones de los comandos "enable" e "is_enabled", que aclararemos aquí:

  • Supongamos que una tabla está deshabilitada; para usar esa tabla, tenemos que habilitarla usando el comando enable.
  • El comando is_enabled comprobará si la tabla está habilitada o no.

alterar

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

Este comando altera el esquema de la familia de columnas. Para entender qué hace exactamente, lo hemos explicado aquí con un ejemplo.

Ejemplos: En estos ejemplos, vamos a realizar operaciones de comando ALTER en tablas y en sus columnas. Realizaremos operaciones como:

  • Modificación de nombres de familias de columnas simples y múltiples.
  • Eliminar los nombres de las familias de columnas de una tabla.
  • Existen otras operaciones que utilizan atributos de ámbito con una tabla.

Para cambiar o agregar la familia de columnas 'guru99_1' en la tabla 'education' a partir del valor actual, manteniendo un máximo de 5 versiones de celda. Aquí, "education" es el nombre de la tabla creada previamente con el nombre de columna "guru99". Con la ayuda de un comando ALTER, intentamos cambiar el esquema de la familia de columnas de guru99 a guru99_1, como se muestra a continuación:

Comando de HBase shell alter para cambiar la familia de columnas de la tabla education a guru99_1

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

También puede aplicar el comando ALTER a varias familias de columnas. Por ejemplo, definiremos dos nuevas columnas para nuestra tabla existente "education", como se muestra a continuación:

Comando alter de la consola de HBase que agrega dos nuevas familias de columnas: guru99_2 y guru99_3.

 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}
  • Podemos cambiar el esquema de más de una columna a la vez usando este comando.
  • guru99_2 y guru99_3, como se muestra en la captura de pantalla anterior, son los dos nuevos nombres de columna que hemos definido para la tabla education.
  • Podemos ver la forma de usar este comando en la captura de pantalla anterior.

En este paso, veremos cómo eliminar una familia de columnas de la tabla. Para eliminar la familia de columnas 'f1' en la tabla 'education', utilice uno de los siguientes comandos. El resultado se muestra en la captura de pantalla a continuación:

Comando ALTER de la consola de HBase para eliminar una familia de columnas de la tabla de educación.

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

En este comando, intentamos eliminar el espacio de columnas llamado guru99_1 que creamos previamente en el primer paso. Como se muestra en las capturas de pantalla a continuación, se muestran dos pasos: cómo modificar un atributo de ámbito de tabla y cómo eliminar dicho atributo.

Comando ALTER de la consola de HBase para configurar el atributo de ámbito de tabla MAX_FILESIZE

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

Paso 1) Puede cambiar atributos de ámbito de tabla como MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH, etc. Estos se pueden colocar al final; por ejemplo, para cambiar el tamaño máximo de una región a 128 MB o cualquier otro valor de memoria, usamos este comando.

Uso:

  • Podemos usar MAX_FILESIZE con la tabla como atributo de ámbito, como se indicó anteriormente.
  • El número representado en MAX_FILESIZE está expresado en términos de memoria en bytes.

NOTA: El ámbito de la tabla MAX_FILESIZE estará determinado por algunos atributos presentes en HBase. MAX_FILESIZE también se incluye dentro de los atributos de ámbito de tabla.

Paso 2) También puede eliminar un atributo de ámbito de tabla utilizando el método table_att_unset. Consulte el comando a continuación:

alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
  • La captura de pantalla anterior muestra el nombre de la tabla modificado con los atributos de ámbito.
  • El método table_att_unset se utiliza para eliminar los atributos presentes en la tabla.
  • En el segundo caso, estamos eliminando el atributo MAX_FILESIZE.
  • Tras la ejecución del comando, simplemente se eliminará el atributo MAX_FILESIZE de la tabla "education".

alterar_estado

 Syntax: alter_status 'education'

La salida de alter_status se muestra a continuación:

El comando alter_status de la consola de HBase muestra que una de las regiones se ha actualizado.

  • Mediante este comando, puede obtener el estado del comando alter.
  • Indica el número de regiones de la tabla que han recibido el esquema actualizado. Se pasa el nombre de la tabla.
  • En la captura de pantalla anterior, se muestra que se ha actualizado 1/1 regiones. Esto significa que se ha actualizado una región. Si la actualización se realiza correctamente, se mostrará el mensaje "Listo".

Comandos de manipulación de datos

Estos comandos funcionan en la tabla para manipulaciones de datos, como insertar datos en una tabla, recuperar datos de una tabla y eliminar esquemas, etc. Los comandos que se incluyen en estos son:

  • Contar
  • poner
  • Obtén
  • Eliminar
  • Eliminar todos
  • Truncar
  • Escanear

Veamos el uso de estos comandos con un ejemplo. Véase también lectura y escritura de datos HBase.

Contar

Syntax: count <'tablename'>, CACHE =>1000
  • Este comando recupera el número de filas de una tabla. El valor que devuelve es el número de filas.
  • El recuento actual se muestra por cada 1000 filas de forma predeterminada.
  • El intervalo de conteo puede especificarse opcionalmente.
  • El tamaño predeterminado de la caché es de 10 filas.
  • El comando count funcionará rápidamente cuando esté configurado con la caché adecuada.

Ejemplo:

hbase> count 'guru99', CACHE=>1000

El resultado del conteo se muestra a continuación:

Comando count de la consola de HBase que devuelve el número de filas de la tabla guru99.

Este ejemplo de conteo recupera 1000 filas a la vez de la tabla "guru99". Podemos reducir el tamaño de la caché si la tabla contiene más filas. Sin embargo, por defecto, recuperará una fila a la vez.

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

Supongamos que la tabla “guru99” tiene alguna referencia a otra tabla, como por ejemplo g. También podemos ejecutar el comando count en la referencia a la tabla, como se muestra a continuación:

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

poner

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

Este comando se utiliza para lo siguiente:

  • Pondrá un "valor" de celda en una tabla, fila o columna definida o especificada.
  • Opcionalmente, coordinará una marca de tiempo.

Ejemplo: Aquí, estamos colocando valores en la tabla “guru99” en la fila r1 y la columna c1.

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

Hemos introducido tres valores, 10, 15 y 30, en la tabla “guru99”, como se muestra en la captura de pantalla a continuación.

El comando `put` de la consola de HBase inserta los valores 10, 15 y 30 en la tabla guru99.

Supongamos que la tabla “guru99” tiene alguna referencia a otra tabla, como por ejemplo g. También podemos ejecutar el comando en la referencia a la tabla, como por ejemplo:

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

El resultado será el que se muestra en la captura de pantalla anterior tras introducir los valores en “guru99”. Para comprobar si el valor de entrada se ha insertado correctamente en la tabla, utilizamos el comando “scan”. En la siguiente captura de pantalla, podemos ver que los valores se han insertado correctamente.

Salida del escaneo de la consola de HBase que confirma los valores insertados en la tabla guru99.

Code Fragmento: Para practicar

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 del fragmento de código, estamos haciendo lo siguiente:

  • Aquí, estamos creando una tabla llamada 'guru99' con el nombre de columna "Edu".
  • Al usar el comando “put”, estamos colocando valores en la fila llamada r1 en la columna “Edu” en la tabla “guru99”.

Obtén

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

Aquí, Incluye TIMERANGE, TIMESTAMP, VERSIONS y FILTERS. Al usar este comando, obtendrá el contenido de una fila o celda de la tabla. Además, puede agregar parámetros adicionales, como TIMESTAMP, TIMERANGE, VERSIONS, FILTERS, etc., para obtener el contenido de una fila o celda específica.

La siguiente salida devuelve los valores de la fila r1 y la columna c1:

El comando get de la consola de HBase devuelve la fila r1 y la columna c1 de la tabla guru99.

Ejemplos: -

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

Para la tabla “guru99”, los valores de la fila r1 y la columna c1 se mostrarán utilizando este comando, como se muestra en la captura de pantalla anterior.

hbase> get 'guru99', 'r1'

Para la tabla “guru99”, los valores de la fila r1 se mostrarán usando este comando.

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

Para la tabla “guru99”, los valores de la fila r1 en el rango de tiempo ts1 a ts2 se mostrarán usando este comando.

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

Para la tabla “guru99”, los valores de la fila r1 y las familias de columnas c1, c2 y c3 se mostrarán utilizando este comando.

Eliminar

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • Este comando eliminará el valor de la celda en una fila o columna definida de una tabla.
  • La función Eliminar debe coincidir exactamente con las coordenadas de la celda eliminada.
  • Al escanear, la opción de eliminar una celda suprime las versiones anteriores de los valores.

Ejemplo: El comando delete que aparece a continuación elimina las celdas r1 y c1 de la tabla guru99:

Comando de eliminación de la consola de HBase para eliminar la celda r1 c1 de la tabla guru99.

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
  • La ejecución anterior eliminará la fila r1 de la familia de columnas c1 en la tabla “guru99”.
  • Supongamos que la tabla “guru99” tiene alguna referencia a otra tabla, como por ejemplo g.
  • También podemos ejecutar el comando en la referencia de tabla, como hbase> g.delete 'guru99', 'r1', 'c1'”.

eliminar todos

Syntax: deleteall <'tablename'>, <'rowname'>
  • Este comando eliminará todas las celdas de una fila determinada.
  • Opcionalmente, podemos definir los nombres de las columnas y una marca de tiempo en la sintaxis.

Ejemplo: El comando deleteall que se muestra a continuación elimina todas las celdas de la fila r1:

Comando deleteall de la consola de HBase que elimina todas las celdas de la fila r1 de la tabla guru99.

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

Esto eliminará todas las filas y columnas presentes en la tabla. Opcionalmente, podemos especificar los nombres de las columnas.

Truncar

Syntax:  truncate <tablename>

El comando truncate que aparece a continuación vacía la tabla mientras se mantieneping su esquema:

Deshabilitar el comando truncate de la consola de HBase, eliminarpingy recreando la tabla guru99

Tras truncar una tabla de HBase, el esquema permanecerá, pero no los registros. Este comando realiza tres funciones, que se detallan a continuación:

  • Deshabilita la tabla si ya existe.
  • Elimina la tabla si ya existe.
  • Recrea la tabla mencionada.

Escanear

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

Este comando escanea toda la tabla y muestra su contenido.

  • Podemos pasar varias especificaciones opcionales a este comando de escaneo para obtener más información sobre las tablas presentes en el sistema.
  • Las especificaciones del escáner pueden incluir uno o más de los siguientes atributos.
  • Estos son TIMERANGE, FILTER, TIMESTAMP, LIMIT, MAXLENGTH, COLUMNS, CACHE, STARTROW y STOPROW.
scan 'guru99'

A continuación se muestra el resultado del escaneo:

Comando de escaneo de la consola de HBase que muestra las filas r1, r2 y r3 de la tabla guru99.

En la captura de pantalla anterior:

  • Muestra la tabla “guru99” con el nombre de la columna y los valores.
  • Consta de tres valores de fila, r1, r2 y r3, para el único valor de columna c1.
  • Muestra los valores asociados a las filas.

Ejemplos: - Los diferentes usos del comando scan:

Comando Uso
escanear '.META.', {COLUMNAS => 'info:regioninfo'} Muestra toda la información de metadatos relacionada con las columnas presentes en las tablas de HBase.
escanear 'guru99', {COLUMNAS => ['c1', 'c2'], LÍMITE => 10, STARTROW => 'xyz'} Muestra el contenido de la tabla guru99 con sus familias de columnas c1 y c2, limitando los valores a 10.
escanear 'guru99', {COLUMNAS => 'c1', RANGO DE TIEMPO => [1303668804, 1303668904]} Muestra el contenido de guru99 con su nombre de columna c1 con los valores presentes dentro del rango de tiempo mencionado en el atributo de valor.
escanear 'guru99', {RAW => verdadero, VERSIONES =>10} En este comando, RAW=> true proporciona una función avanzada, como mostrar todos los valores de celda presentes en la tabla guru99.

Code Ejemplo: Primero, crea una tabla e introduce valores en ella. La entrada se muestra en la siguiente captura de pantalla:

Entrada de shell de HBase para crear la tabla guru99 e insertar valores versionados antes de un escaneo sin procesar.

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

Si ejecutamos el comando de escaneo:

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

Mostrará el resultado que se muestra a continuación:

Salida de escaneo sin procesar de la consola de HBase que muestra múltiples versiones de celdas, incluido un valor eliminado.

La información que se muestra en la captura de pantalla anterior es la siguiente:

  • Escaneando la tabla guru99 con los atributos RAW=>true, VERSIONS=>1000.
  • Mostrar filas con familias de columnas y valores.
  • En la tercera fila, los valores mostrados indican el valor eliminado presente en la columna.
  • El resultado que muestra es aleatorio; no puede estar en el mismo orden que los valores que insertamos en la tabla.

Cluster Comandos de replicación

  • Estos comandos funcionan en el modo de configuración de clúster de HBase.
  • Estos comandos se utilizan generalmente para agregar y eliminar nodos a un clúster, así como para iniciar y detener la replicación.
Comando Funcionalidad
agregar_peer Agrega nodos pares a un clúster para replicarlos.
hbase> add_peer '3', zk1,zk2,zk3:2182:/hbase-prod
eliminar_peer Detiene el flujo de replicación definido y elimina toda la información de metadatos sobre el par.
hbase> eliminar_peer '1'
inicio_replicación Reinicia todas las funciones de replicación.
hbase> inicio_replicación
detener_replicación Desactiva todas las funciones de replicación.
hbase>detener_replicación

Preguntas Frecuentes

Escriba exit o quit y pulse Intro para salir de la consola interactiva de HBase y volver al indicador del sistema operativo. Puede abrir la consola con el comando hbase shell. Ni exit ni quit detienen el servicio de HBase; solo finalizan la sesión de la consola.

Sí. Puedes canalizar comandos de forma no interactiva, por ejemplo, `echo “list” | hbase shell`, o ejecutar un archivo guardado con `hbase shell script.txt`. Dado que la consola se basa en JRuby, también puedes integrar lógica y bucles de Ruby dentro de archivos de script `.rb`.

El intérprete de comandos es un indicador interactivo de JRuby para comandos manuales rápidos y administración. Java La API, que utiliza Connection, Admin y Table, está diseñada para aplicaciones que crean tablas y leen o escriben datos mediante programación. Ambas acceden al mismo clúster y a los mismos datos de HBase.

El error "La tabla ya existe" aparece cuando se crea una tabla con un nombre ya existente, y el error "La tabla no está deshabilitada" aparece cuando se elimina o modifica una tabla sin deshabilitarla previamente. Ejecute `disable 'table'` antes de eliminar o modificar una tabla, y utilice `exists 'table'` para comprobar el nombre antes de crearla.

Una familia de columnas de HBase mantiene un número limitado de versiones con marca de tiempo por celda, históricamente tres y una en versiones más recientes. Configure el recuento con VERSIONS al crear o modificar una celda, y solicite versiones anteriores usando {VERSIONS => n} en un comando get o scan.

Una variable de referencia de tabla es un objeto de shell devuelto por `g = get_table 'guru99'`. Luego, se llaman métodos sobre ella, como `g.put`, `g.get` o `g.count`, en lugar de repetir el nombre de la tabla. Es un atajo práctico al estilo JRuby en la consola de HBase.

Los asistentes de codificación de IA y los modelos de lenguaje avanzados generan comandos de la consola de HBase a partir de solicitudes en lenguaje natural, explican opciones desconocidas como filtros de escaneo o TTL, y ayudan a depurar errores. El aprendizaje automático también analiza las métricas del clúster para guiar la replicación y la optimización de regiones, aunque un ingeniero debe verificar cada comando.

Sí. Copiloto de GitHub Sugiere comandos de shell de HBase y scripts de JRuby a partir de un breve comentario, incluyendo ejemplos de creación, publicación, escaneo y modificación. RevRevise su salida para verificar el nombre de tabla, las familias de columnas y la sintaxis correctas, como VERSIONS, antes de ejecutarlo en un clúster real.

Resumir este post con: