Questions et réponses d'entretien HBase les plus courantes [Guide ultime]
Publié: 2020-09-21Apache HBase est une excellente solution de Big Data lorsque vous souhaitez que votre application envoie ou extrait des données en temps réel. Il est principalement connu pour son schéma flexible et sa grande vitesse. Cet article vise à vous donner les réponses à certaines des principales questions d'entretien avec HBase . Les enquêteurs veulent tester les connaissances techniques et générales des candidats. Ainsi, votre effort devrait être de communiquer les concepts de manière précise et approfondie.
De nombreuses entreprises de premier plan utilisent la technologie Hbase dans le monde, notamment Adobe, HubSpot, Facebook, Twitter, Yahoo!, OpenLogic et StumbleUpon. Pour les développeurs Web en herbe qui cherchent à créer des sites Web évolutifs, la maîtrise d'outils tels que Hadoop et HBase peut s'avérer extrêmement utile.
Apprenez la science des données dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Lire : Idées de projets Hadoop
Table des matières
Principales questions et réponses des entretiens HBase
1. Qu'est-ce que HBase ?
Il s'agit d'une base de données orientée colonnes développée par Apache Software Foundation. S'exécutant au-dessus d'un cluster Hadoop, HBase est utilisé pour stocker des données semi-structurées et non structurées. Ainsi, il n'a pas un schéma rigide comme celui d'une base de données relationnelle traditionnelle. De plus, il ne prend pas en charge une structure de syntaxe SQL. HBase stocke et exploite les données via un nœud maître régulant les serveurs de cluster et de région.
2. Quelles sont les raisons d'utiliser Hbase ?
HBase offre un système de stockage de grande capacité et des opérations de lecture et d'écriture aléatoires. Il peut gérer de grands ensembles de données, effectuant plusieurs opérations par seconde. La conception distribuée et évolutive horizontalement fait de HBase un choix populaire pour les applications en temps réel.
3. Expliquez les composants clés de HBase.
Les parties actives de HBase incluent Zookeeper, HBase Master, RegionServer, Region et Catalog Tables. Le but de chaque élément peut être décrit comme suit :
- Zookeeper coordonne entre le client et le HBase Master
- HBase Master surveille le RegionServer et s'occupe des fonctions d'administration
- RegionServer supervise la Région
- La région contient le MemStore et HFile
- Les tables de catalogue comprennent ROOT et META
Fondamentalement, Hbase se compose d'un ensemble de tables, chaque table ayant des lignes, des colonnes et une clé primaire. C'est la colonne HBase qui indique l'attribut d'un objet.
4. Quels sont les différents types de commandes opérationnelles dans HBase ?
Il existe cinq commandes opérationnelles cruciales dans HBase : Get, Delete, Put, Increment et Scan.
Get est utilisé pour lire la table. Exécuté via HTable.get, il renvoie les données ou les attributs d'une ligne spécifique de la table. Delete supprime des lignes d'un tableau, tandis que Put ajoute ou met à jour des lignes. Increment active les opérations d'incrémentation sur une seule ligne. Enfin, Scan est utilisé pour itérer sur plusieurs lignes pour certains attributs.
5. Qu'entendez-vous par WAL et Hlog ?
- WAL signifie Write Ahead Log et est assez similaire au journal BIN de MySQL. Il enregistre tous les changements dans les données.
- HLog est le fichier de séquence en mémoire standard de Hadoop qui gère le magasin HLogkey.
WAL et HLog servent de bouées de sauvetage en cas de panne de serveur et de perte de données. Si le RegionServer tombe en panne ou devient indisponible, les fichiers WAL garantissent que les modifications de données peuvent être rejouées.
6. Décrivez certaines situations dans lesquelles vous utiliseriez Hbase.
Il convient d'utiliser HBase lorsque :
- La taille de vos données est vaste et vous oblige à opérer sur des millions d'enregistrements.
- Vous implémentez une refonte complète et une refonte du SGBDR conventionnel.
- Vous avez les ressources pour entreprendre des investissements d'infrastructure dans les grappes.
- Il existe des commandes particulières sans SQL, telles que les transactions, les colonnes typées, les lignes intérieures, etc.
7. Qu'entendez-vous par familles de colonnes et clés de ligne ?
Les familles de colonnes constituent les unités de stockage de base dans HBase. Ceux-ci sont définis lors de la création de la table et stockés ensemble sur le disque, permettant plus tard l'application de fonctionnalités telles que la compression.
Une clé de ligne permet le regroupement logique des cellules. Il est préfixé à la clé combinée, permettant à l'application de définir l'ordre de tri. De cette façon, toutes les cellules avec la même clé de ligne peuvent être enregistrées sur le même serveur.
8. En quoi HBase diffère-t-il d'une base de données relationnelle ?
HBase est différent d'une base de données relationnelle car il s'agit d'un magasin de données sans schéma et orienté colonne contenant des tables peu peuplées. Une base de données relationnelle est basée sur un schéma, orientée ligne et stocke des données normalisées dans des tables minces. De plus, HBase présente l'avantage d'un partitionnement automatisé, alors qu'il n'existe pas de prise en charge intégrée de ce type dans RDBMS.

Lire : SGBD vs RDBMS : Différence entre SGBD et RDBMS
9. Qu'est-ce qui constitue une cellule dans HBase ?
Les cellules sont les plus petites unités des tables HBase, contenant les données sous forme de tuples. Un tuple est une structure de données composée de plusieurs parties. Dans HBase, il se compose de {ligne, colonne, version}.
10. Définissez le compactage dans HBase.
Le compactage est le processus utilisé pour fusionner les fichiers HFile en un seul fichier avant que les anciens fichiers ne soient supprimés de la base de données.
11. Pouvez-vous accéder directement à HFile sans utiliser HBase ?
Oui, il existe une technique unique pour accéder directement à HFile sans l'aide de HBase. La méthode HFile.main peut être utilisée à cette fin.
12. Discutez de la suppression et des marqueurs de désactivation dans HBase.
Dans HBase, un processus de suppression normal entraîne un marqueur de désactivation. Les cellules supprimées deviennent invisibles, mais les données qu'elles représentent sont en fait supprimées lors du compactage. HBase a trois types de marqueurs tombstone :
- Marqueur de suppression de version : il marque une seule version d'une colonne à supprimer
- Marqueur de suppression de colonne : il marque toutes les versions d'une colonne
- Marqueur de suppression de famille : il configure toutes les colonnes d'une famille de colonnes pour la suppression
Ici, il convient de noter qu'une ligne dans HBase serait entièrement supprimée après un compactage majeur. Par conséquent, lorsque vous supprimez et ajoutez des données, les Gets peuvent être masqués par des marqueurs de désactivation et vous ne pouvez voir les valeurs insérées qu'après les compactages.
13. Que se passe-t-il lorsque vous modifiez la taille de bloc d'une famille de colonnes ?
Si votre base de données est déjà occupée et que vous souhaitez modifier la taille de bloc de votre famille de colonnes dans HBase, les anciennes données peuvent rester dans l'ancienne taille de bloc. Lors du compactage, les anciennes et les nouvelles données se comporteraient comme ceci :
- Les données existantes prendraient la nouvelle taille de bloc et continueraient à être lues correctement.
- Les nouveaux fichiers auraient la nouvelle taille de bloc.
De cette façon, toutes les données se transforment à la taille de bloc souhaitée avant le prochain compactage majeur.
14. Définissez les différents modes que HBase peut exécuter.
HBase peut être exécuté en mode autonome ou en mode distribué. Standalone est le mode par défaut de HBase qui utilise le système de fichiers local au lieu de HDFS. Quant au mode distribué, il peut être subdivisé en :
- Mode pseudo-distribué : tous les démons s'exécutent sur un seul nœud
- Mode entièrement distribué : les démons s'exécutent sur tous les nœuds du cluster
15. Comment implémenteriez-vous les jointures dans HBase ?
HBase utilise les tâches MapReduce pour traiter des téraoctets de données de manière évolutive. Il ne prend pas directement en charge les jointures, mais les requêtes de jointure sont implémentées en récupérant les données des tables HBase.
Paiement : questions d'entrevue Hadoop
16. Discutez de l'objectif des filtres dans HBase.
Des filtres ont été introduits dans Apache HBase 0.92 pour aider les utilisateurs à accéder à HBase via Shell ou Thrift. Ainsi, ils prennent soin de vos besoins de filtrage côté serveur. Il existe également des filtres de décoration qui étendent les utilisations des filtres pour obtenir un contrôle supplémentaire sur les données renvoyées. Voici quelques exemples de filtres dans HBase :
- Bloom Filter : généralement utilisé pour les requêtes en temps réel, il s'agit d'un moyen peu encombrant de savoir si un HFile comprend une ligne ou une cellule spécifique.
- Filtre de page : en acceptant la taille de la page comme paramètre, le filtre de page peut optimiser l'analyse des HRegions individuelles
17. Comparez HBase avec (i) Cassandra (ii) Hive.
(i) HBase et Cassandra : Cassandra et HBase sont des bases de données NoSQL conçues pour gérer de grands ensembles de données. Cependant, la syntaxe de Cassandra Query Language (CQL ) est calquée sur SQL. Dans les deux magasins de données, la clé de ligne constitue l'index primaire. Cassandra peut créer des index secondaires sur les valeurs de colonne. Par conséquent, il peut améliorer l'accès aux données dans les colonnes avec des niveaux élevés de répétition. HBase n'a pas cette disposition mais dispose d'autres mécanismes pour intégrer la fonctionnalité d'index secondaire. Ces méthodes peuvent être facilement trouvées dans des guides de référence en ligne.
(ii) HBase et Hive : les deux sont des technologies basées sur Hadoop. Comme indiqué ci-dessus, HBase est une base de données clé/valeur NoSQL. D'autre part, Hive est un moteur de type SQL capable d'exécuter des tâches MapReduce sophistiquées. Vous pouvez effectuer des opérations de lecture et d'écriture de données de Hive vers HBase et vice-versa. Alors que Hive est plus adapté aux tâches analytiques, HBase est une excellente solution pour les requêtes en temps réel.
Lisez aussi : Architecture HBase : tout ce que vous devez savoir
Conclusion
Ces questions d'entretien HBase et ces cas d'utilisation nous amènent à la fin de cet article. Nous avons essayé de couvrir différents sujets pour répondre aux niveaux de base, intermédiaire et avancé. Alors, continuez à réviser pour faire bonne impression auprès de votre recruteur !
Si vous êtes curieux d'en savoir plus sur la science des données, consultez le programme Executive PG en science des données de IIIT-B & upGrad qui est créé pour les professionnels en activité et propose plus de 10 études de cas et projets, des ateliers pratiques, un mentorat avec des experts de l'industrie, 1 -on-1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.
