Top 30 des questions d'entrevue Hbase & Réponses

Anonim

Télécharger le PDF

Vous trouverez ci-dessous des questions fréquemment posées lors d'entretiens pour les novices ainsi que pour les développeurs HBase expérimentés.

1) Expliquez ce qu'est l'Hbase?

Hbase est un système de gestion de base de données orienté colonnes qui s'exécute sur HDFS (Hadoop Distribute File System). Hbase n'est pas un magasin de données relationnelles et ne prend pas en charge le langage de requête structuré comme SQL.

Dans Hbase, un nœud maître régule les serveurs de cluster et de région pour stocker des parties des tables et opère le travail sur les données.

2) Expliquez pourquoi utiliser Hbase?

  • Système de stockage haute capacité
  • Conception distribuée pour accueillir de grandes tables
  • Magasins orientés colonnes
  • Évolutif horizontalement
  • Haute performance et disponibilité
  • L'objectif de base d'Hbase est de millions de colonnes, de milliers de versions et de milliards de lignes
  • Contrairement à HDFS (Hadoop Distribute File System), il prend en charge les opérations CRUD aléatoires en temps réel

3) Mentionner quels sont les composants clés de l'Hbase?

  • Gardien de zoo: il fait le travail de coordination entre le client et Hbase Maser
  • Hbase Master: Hbase Master surveille le serveur de région
  • RegionServer: RegionServer surveille la région
  • Région: Il contient en mémoire le magasin de données (MemStore) et Hfile.
  • Tables de catalogue: Les tables de catalogue se composent de ROOT et META

4) Expliquez en quoi consiste l'Hbase?

  • Hbase se compose d'un ensemble de tableaux
  • Et chaque table contient des lignes et des colonnes comme la base de données traditionnelle
  • Chaque table doit contenir un élément défini comme une clé primaire
  • La colonne Hbase désigne un attribut d'un objet

5) Mentionner combien de commandes opérationnelles dans Hbase?

La commande opérationnelle dans Hbases est d'environ cinq types

  • Obtenir
  • Mettre
  • Effacer
  • Analyse
  • Incrément

6) Expliquez ce que sont WAL et Hlog dans Hbase?

WAL (Write Ahead Log) est similaire au journal MySQL BIN; il enregistre tous les changements intervenus dans les données. C'est un fichier de séquence standard par Hadoop et il stocke les HLogkey. Ces clés se composent d'un nombre séquentiel ainsi que de données réelles et sont utilisées pour relire les données non encore persistantes après une panne du serveur. Ainsi, en espèces en cas de défaillance du serveur, WAL fonctionne comme une ligne de vie et récupère les données perdues.

7) Quand devriez-vous utiliser Hbase?

  • La taille des données est énorme: lorsque vous avez des tonnes et des millions d'enregistrements à exploiter
  • Refonte complète: lorsque vous déplacez le SGBDR vers Hbase, vous le considérez comme une refonte complète, puis simplement en changeant les ports
  • Commandes sans SQL: vous disposez de plusieurs fonctionnalités telles que les transactions; jointures internes, colonnes typées, etc.
  • Investissement dans l'infrastructure: vous devez disposer d'un cluster suffisant pour que Hbase soit vraiment utile

8) Dans Hbase, qu'est-ce que les familles de colonnes?

Les familles de colonnes comprennent l'unité de base de stockage physique dans Hbase à laquelle des fonctionnalités telles que les compressions sont appliquées.

9) Expliquez quelle est la clé de ligne?

La clé de ligne est définie par l'application. La clé combinée étant prédéfinie par la clé de ligne, elle permet à l'application de définir l'ordre de tri souhaité. Il permet également le regroupement logique des cellules et garantit que toutes les cellules avec la même clé de ligne sont co-localisées sur le même serveur.

10) Expliquer la suppression de l'Hbase? Mentionner quels sont les trois types de marqueurs de pierre tombale dans Hbase?

Lorsque vous supprimez la cellule dans Hbase, les données ne sont pas réellement supprimées mais un marqueur tombstone est défini, rendant les cellules supprimées invisibles. Les Hbases supprimées sont effectivement supprimées lors des compactages.

Il existe trois types de marqueurs de pierre tombale:

  • Marqueur de suppression de version: pour la suppression, il marque une seule version d'une colonne
  • Marqueur de suppression de colonne: pour la suppression, il marque toutes les versions d'une colonne
  • Marqueur de suppression de famille: pour la suppression, il marque toutes les colonnes d'une famille de colonnes

11) Expliquez comment Hbase supprime réellement une ligne?

Dans Hbase, tout ce que vous écrivez sera stocké de la RAM vers le disque, ces écritures sur disque sont immuables à l'exception du compactage. Pendant le processus de suppression dans Hbase, le processus de compactage principal supprime le marqueur, contrairement aux compactages mineurs. Dans les suppressions normales, il en résulte un marqueur de suppression - ces données de suppression qu'ils représentent sont supprimées pendant le compactage.

De plus, si vous supprimez des données et ajoutez plus de données, mais avec un horodatage antérieur à l'horodatage de la pierre tombale, les autres obtentions peuvent être masquées par le marqueur de suppression / désactivation et par conséquent, vous ne recevrez la valeur insérée qu'après le compactage majeur.

12) Expliquez ce qui se passe si vous modifiez la taille de bloc d'une famille de colonnes sur une base de données déjà occupée?

Lorsque vous modifiez la taille de bloc de la famille de colonnes, les nouvelles données occupent la nouvelle taille de bloc tandis que les anciennes données restent dans l'ancienne taille de bloc. Pendant le compactage des données, les anciennes données prendront la nouvelle taille de bloc. Les nouveaux fichiers lorsqu'ils sont vidés, ont une nouvelle taille de bloc tandis que les données existantes continueront d'être lues correctement. Toutes les données doivent être transformées à la nouvelle taille de bloc, après le prochain compactage majeur.

13) Mentionner la différence entre Hbase et base de données relationnelle?

Hbase Base de données relationnelle
  • C'est sans schéma
  • C'est un magasin de données orienté colonnes
  • Il est utilisé pour stocker des données dénormalisées
  • Il contient des tables peu peuplées
  • Le partitionnement automatisé est effectué dans Hbase
  • C'est une base de données basée sur un schéma
  • C'est un magasin de données orienté lignes
  • Il est utilisé pour stocker des données normalisées
  • Il contient des tableaux minces
  • Il n'y a pas de telle disposition ou prise en charge intégrée du partitionnement

14) Qu'est-ce que la classe HBaseFsck?

Un nom d'outil rappelé est disponible dans HBase, qui est implémenté par la classe HBaseFsck. Il propose plusieurs commutateurs de ligne de commande qui influencent son comportement.

15) Quelles sont les principales structures clés de la HBase?

La clé de ligne et la clé de colonne sont les deux structures clés les plus importantes utilisées dans HBase

16) Discutez de la façon dont vous pouvez utiliser les filtres dans Apache HBase

Filtres dans HBase Shell. Il a été introduit dans Apache HBase 0.92 qui vous aide à effectuer un filtrage côté serveur pour accéder à HBase via un shell ou une économie HBase.

17) Structure de la syntaxe de support HBase comme SQL oui ou non?

Non, malheureusement, le support SQL pour HBase n'est pas disponible actuellement. Cependant, en utilisant Apache Phoenix, nous pouvons récupérer des données à partir de HBase via des requêtes SQL.

18) Quelle est la signification du compactage dans HBase?

Lors d'écritures entrantes importantes, il est impossible d'obtenir des performances optimales en ayant un fichier par magasin. HBase vous aide à combiner tous ces fichiers HFiles pour réduire le nombre de graines de disque pour chaque lecture. Ce processus est connu sous le nom de compactage dans HBase.

19) Comment allez-vous implémenter les jointures dans HBase?

HBase, ne prend pas en charge les jointures directement mais utilise des tâches MapReduce. Les requêtes de jointure peuvent être implémentées en récupérant des données à l'aide de différentes tables HBase.

20) Expliquez JMX concernant HBSE

Java Management Extensions ou JMX est un statut d'exportation des applications Java est la norme pour eux.

21) À quoi sert MasterServer?

Le serveur principal vous aide également à attribuer une région au serveur de région. Il vous aide également à gérer l'équilibrage de charge que nous utilisons le MasterServer.

22) Définir le terme économie

Apache Thrift est écrit en C ++. Il fournit des compilateurs de schémas pour divers langages de programmation tels que C ++, Perl, PHP, Python, Ruby, etc.

23) Pourquoi utiliser la classe HColumnDescriptor?

Les détails concernant la famille de colonnes, tels que les paramètres de compression, le nombre de versions, sont stockés dans HColumnDescriptor.

24) Qu'est-ce qu'une cellule dans HBase?

Une cellule dans HBase est la plus petite unité d'un tableau d'Hbase. Il vous aide à contenir une donnée sous la forme d'un tuple {ligne, colonne, version}

25) Qu'est-ce qu'un filtre Bloom?

HBase prend en charge Bloom Filter vous aide à améliorer le débit global du cluster. Un filtre HBase Bloom est un mécanisme efficace d'espace pour tester si un HFile inclut certaines cellules de ligne ou de colonne de ligne.

26) Parlez-moi des types d'opérations HBase?

Ans. Deux types d'opérations HBase sont:

  • Lire l'opération
  • Opération d'écriture

27) À quoi sert HBase HMaster?

Les principales responsabilités d'un maître sont:

  1. Coordination des serveurs de la région
  2. Fonctions d'administration

28) Quelle technique pouvez-vous utiliser dans HBase pour accéder directement à HFile sans l'aide de HBase?

Pour accéder directement à HFile sans utiliser HBase, nous utilisons la méthode HFile.main ().

29) Le serveur de région peut-il être localisé sur tous les DataNodes?

Oui, les serveurs de région s'exécutent sur les mêmes serveurs qu'un DataNodes

30) Nommez le filtre qui accepte la taille de la page comme paramètre dans HBase

Un filtre nommé PageFilter accepte la taille de la page comme paramètre.

Ce document a été composé avec les outils de conversion HTML instantanés.