Preguntas y respuestas más comunes de la entrevista HBase [Guía definitiva]
Publicado: 2020-09-21Apache HBase es una excelente solución de big data para cuando desea que su aplicación envíe o extraiga datos en tiempo real. Es conocido principalmente por su esquema flexible y alta velocidad. Este artículo tiene como objetivo brindarle las respuestas a algunas de las principales preguntas de la entrevista de HBase . Los entrevistadores quieren probar la conciencia técnica y general de los candidatos. Por lo tanto, su esfuerzo debe ser comunicar los conceptos de manera precisa y completa.
Muchas empresas líderes utilizan la tecnología Hbase en todo el mundo, incluidas Adobe, HubSpot, Facebook, Twitter, Yahoo!, OpenLogic y StumbleUpon. Para los aspirantes a desarrolladores web que buscan crear sitios web escalables, las herramientas de dominio como Hadoop y HBase pueden resultar inmensamente útiles.
Aprende ciencia de datos de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
Leer: Ideas de proyectos de Hadoop
Tabla de contenido
Principales preguntas y respuestas de entrevistas de HBase
1. ¿Qué es HBase?
Es una base de datos orientada a columnas desarrollada por Apache Software Foundation. Al ejecutarse sobre un clúster de Hadoop, HBase se utiliza para almacenar datos semiestructurados y no estructurados. Por lo tanto, no tiene un esquema rígido como el de una base de datos relacional tradicional. Además, no admite una estructura de sintaxis SQL. HBase almacena y opera con datos a través de un nodo maestro que regula los servidores de clúster y región.
2. ¿Cuáles son las razones para usar Hbase?
HBase ofrece un sistema de almacenamiento de alta capacidad y operaciones de lectura y escritura aleatorias. Puede manejar grandes conjuntos de datos, realizando varias operaciones por segundo. El diseño distribuido y escalable horizontalmente hace que HBase sea una opción popular para aplicaciones en tiempo real.
3. Explique los componentes clave de HBase.
Las partes funcionales de HBase incluyen Zookeeper, HBase Master, RegionServer, Region y Catalog Tables. El propósito de cada elemento se puede describir de la siguiente manera:
- Zookeeper coordina entre el cliente y HBase Master
- HBase Master monitorea el RegionServer y se encarga de las funciones de administración
- RegionServer supervisa la Región
- La región contiene MemStore y HFile
- Las tablas de catálogo comprenden ROOT y META
Básicamente, Hbase consta de un conjunto de tablas en las que cada tabla tiene filas, columnas y una clave principal. Es la columna HBase la que denota el atributo de un objeto.
4. ¿Cuáles son los diferentes tipos de comandos operativos en HBase?
Hay cinco comandos operativos cruciales en HBase: Get, Delete, Put, Increment y Scan.
Get se utiliza para leer la tabla. Ejecutado a través de HTable.get, devuelve datos o atributos de una fila específica de la tabla. Delete elimina filas de una tabla, mientras que Put agrega o actualiza filas. Increment permite operaciones de incremento en una sola fila. Finalmente, Scan se usa para iterar sobre varias filas para ciertos atributos.
5. ¿Qué entiendes por WAL y Hlog?
- WAL significa Write Ahead Log y es bastante similar al registro BIN en MySQL. Registra todos los cambios en los datos.
- HLog es el archivo de secuencia en memoria estándar de Hadoop que mantiene el almacén de HLogkey.
WAL y HLog sirven como salvavidas en caso de falla del servidor y pérdida de datos. Si RegionServer falla o deja de estar disponible, los archivos WAL garantizan que los cambios de datos se puedan reproducir.
6. Describa algunas situaciones en las que usaría Hbase.
Es adecuado utilizar HBase cuando:
- El tamaño de sus datos es enorme y requiere que opere en millones de registros.
- Está implementando un rediseño completo y revisando el RDBMS convencional.
- Tiene los recursos para realizar inversiones en infraestructura en clústeres.
- Hay comandos particulares sin SQL, como transacciones, columnas escritas, líneas internas, etc.
7. ¿Qué quiere decir con familias de columnas y claves de fila?
Las familias de columnas constituyen las unidades básicas de almacenamiento en HBase. Estos se definen durante la creación de la tabla y se almacenan juntos en el disco, lo que luego permite la aplicación de funciones como la compresión.
Una clave de fila permite la agrupación lógica de celdas. Tiene el prefijo de la clave combinada, lo que permite que la aplicación defina el orden de clasificación. De esta forma, todas las celdas con la misma clave de fila se pueden guardar en el mismo servidor.
8. ¿En qué se diferencia HBase de una base de datos relacional?
HBase es diferente de una base de datos relacional, ya que es un almacén de datos orientado a columnas y sin esquema que contiene tablas escasamente pobladas. Una base de datos relacional se basa en esquemas, está orientada a filas y almacena datos normalizados en tablas delgadas. Además, HBase tiene la ventaja de la partición automatizada, mientras que RDBMS no cuenta con ese soporte integrado.

Leer: DBMS vs. RDBMS: diferencia entre DBMS y RDBMS
9. ¿Qué constituye una celda en HBase?
Las celdas son las unidades más pequeñas de las tablas de HBase y contienen los datos en forma de tuplas. Una tupla es una estructura de datos que tiene varias partes. En HBase, consta de {fila, columna, versión}.
10. Defina compactación en HBase.
La compactación es el proceso utilizado para fusionar HFiles en un solo archivo antes de que los archivos antiguos se eliminen de la base de datos.
11. ¿Puedes acceder a HFile directamente sin usar HBase?
Sí, existe una técnica única para acceder a HFile directamente sin la ayuda de HBase. El método HFile.main se puede utilizar para este propósito.
12. Discuta la eliminación y los marcadores de desecho en HBase.
En HBase, un proceso de eliminación normal da como resultado un marcador de desecho. Las celdas eliminadas se vuelven invisibles, pero los datos representados por ellas en realidad se eliminan durante la compactación. HBase tiene tres tipos de marcadores de lápidas:
- Marcador de eliminación de versión: marca una sola versión de una columna para su eliminación
- Marcador de borrado de columna: Marca todas las versiones de una columna
- Marcador de eliminación de familia: configura todas las columnas de una familia de columnas para su eliminación
Aquí, debe tenerse en cuenta que una fila en HBase se eliminaría por completo después de una compactación importante. Por lo tanto, cuando elimina y agrega más datos, los Gets pueden estar enmascarados por marcadores de desecho y es posible que no vea los valores insertados hasta después de las compactaciones.
13. ¿Qué sucede cuando modifica el tamaño de bloque de una familia de columnas?
Si su base de datos ya está ocupada y desea modificar el tamaño de bloque de su familia de columnas en HBase, los datos antiguos pueden permanecer en el tamaño de bloque anterior. Durante la compactación, los datos antiguos y nuevos se comportarían así:
- Los datos existentes tomarían el nuevo tamaño de bloque y se seguirían leyendo correctamente.
- Los archivos nuevos tendrían el nuevo tamaño de bloque.
De esta forma, todos los datos se transforman al tamaño de bloque deseado antes de la siguiente compactación importante.
14. Defina los diferentes modos que puede ejecutar HBase.
HBase puede ejecutarse en modo independiente o en modo distribuido. Independiente es el modo predeterminado de HBase que utiliza el sistema de archivos local en lugar de HDFS. En cuanto al modo distribuido, se puede subdividir en:
- Modo pseudodistribuido: todos los demonios se ejecutan en un solo nodo
- Modo totalmente distribuido: los demonios se ejecutan en todos los nodos del clúster
15. ¿Cómo implementaría uniones en HBase?
HBase utiliza trabajos de MapReduce para procesar terabytes de datos de forma escalable. No admite uniones directamente, pero las consultas de unión se implementan recuperando datos de las tablas de HBase.
Pago: preguntas de la entrevista de Hadoop
16. Discuta el propósito de los filtros en HBase.
Los filtros se introdujeron en Apache HBase 0.92 para ayudar a los usuarios a acceder a HBase sobre Shell o Thrift. Por lo tanto, se encargan de sus necesidades de filtrado del lado del servidor. También hay filtros decorativos que amplían los usos de los filtros para obtener un control adicional sobre los datos devueltos. Estos son algunos ejemplos de filtros en HBase:
- Bloom Filter: normalmente utilizado para consultas en tiempo real, es una forma eficiente de saber si un HFile incluye una fila o celda específica.
- Filtro de página: al aceptar el tamaño de la página como parámetro, el filtro de página puede optimizar el escaneo de HRegions individuales
17. Compare HBase con (i) Cassandra (ii) Hive.
(i) HBase y Cassandra: tanto Cassandra como HBase son bases de datos NoSQL diseñadas para administrar grandes conjuntos de datos. Sin embargo, la sintaxis de Cassandra Query Language (CQL ) sigue el modelo de SQL. En ambos almacenes de datos, la clave de fila forma el índice principal. Cassandra puede crear índices secundarios en valores de columna. Por lo tanto, puede mejorar el acceso a datos en columnas con altos niveles de repetición. HBase carece de esta disposición, pero tiene otros mecanismos para incorporar la funcionalidad del índice secundario. Estos métodos se pueden encontrar fácilmente en las guías de referencia en línea.
(ii) HBase y Hive: ambas son tecnologías basadas en Hadoop. Como se discutió anteriormente, HBase es una base de datos de clave/valor NoSQL. Por otro lado, Hive es un motor similar a SQL capaz de ejecutar trabajos sofisticados de MapReduce. Puede realizar operaciones de lectura y escritura de datos de Hive a HBase y viceversa. Si bien Hive es más adecuado para tareas analíticas, HBase es una excelente solución para consultas en tiempo real.
Lea también: Arquitectura HBase: todo lo que necesita saber
Conclusión
Estas preguntas de la entrevista de HBase y los casos de uso nos llevan al final de este artículo. Intentamos cubrir diferentes temas para atender a los niveles básico, intermedio y avanzado. ¡Entonces, siga revisando para causar una impresión estelar en su reclutador!
Si tiene curiosidad por aprender sobre ciencia de datos, consulte el Programa ejecutivo PG en ciencia de datos de IIIT-B y upGrad, creado para profesionales que trabajan y ofrece más de 10 estudios de casos y proyectos, talleres prácticos, tutoría con expertos de la industria, 1 -on-1 con mentores de la industria, más de 400 horas de aprendizaje y asistencia laboral con las mejores empresas.