Questions et réponses d'entrevue de base de Hive 2022

Publié: 2021-01-08

Les entretiens Big Data peuvent être menés de manière générale (vous devez avoir une idée générale des cadres et outils Big Data populaires) ou ils peuvent être axés sur un cadre ou un outil particulier. Aujourd'hui, nous allons nous concentrer sur un framework Big Data largement utilisé - Apache Hive.

Nous avons créé cette liste de questions d'entretien Apache Hive pour vous aider à avoir une meilleure idée du type de questions que les employeurs posent généralement lors des entretiens Hadoop concernant Hive.

Donc, si vous êtes quelqu'un qui souhaite réussir l'interview de Hive, continuez à lire jusqu'à la fin !

  1. Qu'est-ce qu'Apache Hive ?

Apache Hive est un framework d'entreposage de données basé sur Hadoop. Il est principalement utilisé pour analyser des données structurées et semi-structurées. Hive est conçu pour projeter une structure sur les données et exécuter des requêtes écrites en HQL (Hive Query Language), similaire à celle des instructions SQL. De plus, le compilateur Hive transforme ces requêtes en tâches de réduction de carte.

  1. Quels types d'applications Hive peut-il prendre en charge ?

Hive peut prendre en charge n'importe quelle application écrite en Python, Java, C++, Ruby et PHP.

  1. Qu'entendez-vous par Metastore ? Pourquoi Hive ne stocke-t-il pas les métadonnées dans HDFS ?

Metastore est un référentiel dans Hive qui stocke les informations de métadonnées. Pour ce faire, il exploite RDBMS avec une couche ORM (Object Relational Model) open source appelée Data Nucleus qui transforme la représentation de l'objet en schéma relationnel et vice versa.

Hive stocke les informations de métadonnées à l'aide de RDBMS et non de HDFS, car les opérations de lecture/écriture à l'aide de HDFS sont un processus qui prend du temps. RDBMS a un avantage sur lui car il permet d'obtenir une faible latence.

  1. Faites la différence entre le métastore local et le métastore distant.

Un metastore local s'exécute dans la même JVM dans laquelle le service Hive s'exécute. Il peut soit se connecter à une base de données s'exécutant dans une JVM distincte sur la même machine, soit sur une machine distante. Au contraire, un métastore distant s'exécute dans une JVM distincte et non dans celle où s'exécute le service Hive.

  1. Que voulez-vous dire par une partition dans Hive ? Quelle est son importance ?

Dans Hive, les tables sont classées et organisées en partitions pour organiser ensemble des types de données similaires, soit en fonction d'une colonne ou d'une clé de partition. Ainsi, une partition est en fait un sous-répertoire dans le répertoire de la table. Une table peut avoir plusieurs clés de partition pour une partition particulière.

Grâce au partitionnement, vous pouvez obtenir une granularité dans une table Hive. Cela permet de réduire la latence des requêtes car il analyse uniquement les données partitionnées pertinentes au lieu de l'ensemble de données complet.

  1. Qu'est-ce qu'une variable Hive ?

Une variable Hive est créée dans l'environnement Hive développé par les langages de script Hive. À l'aide de la commande source, il transfère les valeurs aux requêtes Hive lorsque la requête commence à s'exécuter.

  1. À quel type d'applications d'entrepôt de données Hive convient-il ?

Les réglementations de conception de Hadoop et HDFS imposent certaines limites aux capacités de Hive. De plus, il ne possède pas les fonctionnalités nécessaires requises pour OLTP (traitement des transactions en ligne). Hive est le mieux adapté aux applications d'entrepôt de données dans des ensembles de données volumineux qui nécessitent :

  • Analyse des données relativement statiques.
  • Moins de temps de réponse.
  • Aucun changement dynamique dans les données.
  1. Qu'est-ce qu'un index Hive ?

L'index Hive est une méthode d'optimisation des requêtes Hive. Il est utilisé pour accélérer l'accès à une colonne spécifique ou à un ensemble de colonnes dans une base de données Hive. En utilisant un index Hive, le système de base de données n'a pas besoin de lire toutes les lignes d'une table pour trouver les données choisies.

  1. Pourquoi avez-vous besoin de Hcatolog ?

Hcatalog est nécessaire pour partager des structures de données avec des systèmes externes. Il donne accès au metastore Hive, vous pouvez donc lire/écrire des données dans l'entrepôt de données Hive.

  1. Nommez les composants d'un processeur de requêtes Hive ?

Les composants d'un processeur de requêtes Hive sont :

  • Plan Logique de Génération.
  • Plan Physique de Génération.
  • Moteur d'exécution.
  • UDF et UDAF.
  • Les opérateurs.
  • Optimiseur.
  • Analyseur.
  • Analyseur sémantique.
  • Vérification de type.
  1. Comment les tableaux au format ORC aident-ils Hive à améliorer les performances ?

En utilisant le format de fichier ORC (Optimized Row Columnar), vous pouvez stocker efficacement les données Hive car cela permet de simplifier de nombreuses limitations du format de fichier Hive.

  1. Quelle est la fonction de l'Object-Inspector ?

Dans Hive, l'inspecteur d'objets aide à analyser la structure interne d'un objet ligne et la structure individuelle des colonnes. De plus, il offre également des moyens d'accéder à des objets complexes qui peuvent être stockés dans différents formats en mémoire.

  1. Quelle est la différence entre Hive et HBase ?

Les principaux points de différenciation entre Hive et HBase sont :

  • Hive est un framework d'entrepôt de données alors que HBase est une base de données NoSQL.
  • Alors que Hive peut exécuter la plupart des requêtes SQL, HBase n'autorise pas les requêtes SQL.
  • Hive ne prend pas en charge les opérations d'insertion, de mise à jour et de suppression au niveau de l'enregistrement sur une table, mais HBase prend en charge ces fonctions.
  • Hive s'exécute au-dessus de MapReduce, mais HBase s'exécute au-dessus de HDFS.
  1. Qu'est-ce qu'une table gérée et une table externe ?

Dans une table gérée, les informations de métadonnées et les données de la table sont supprimées du répertoire de l'entrepôt Hive si vous quittez/quittez une table gérée. Cependant, dans une table externe, seules les informations de métadonnées associées à la table sont supprimées tandis que les données de la table sont conservées dans le HDFS.

  1. Nommez les différents composants d'une architecture Hive.

Il y a 5 composants d'une architecture Hive :

  1. Interface utilisateur - Il permet à l'utilisateur de soumettre des requêtes et d'autres opérations au système Hive. L'interface utilisateur prend en charge l'interface utilisateur Web Hive, la ligne de commande Hive et Hive HD Insight.
  2. Pilote - Il crée un handle de session pour les requêtes, puis envoie les requêtes au compilateur pour créer un plan d'exécution pour le même.
  3. Metastore - Il contient les données structurées ainsi que toutes les informations sur les différentes tables et partitions de l'entrepôt (avec attributs). A réception de la demande de métadonnées, il envoie les métadonnées au compilateur pour exécuter les requêtes.
  4. Compilateur - Il génère le plan d'exécution pour analyser les requêtes, effectuer une analyse sémantique sur différents blocs de requête et générer une expression de requête.
  5. Moteur d'exécution - Pendant que le compilateur élabore le plan d'exécution, le moteur d'exécution le met en œuvre. Il gère les dépendances des différentes étapes du plan.

De toute évidence, il y a plus dans Hive que ces 15 questions. Ce ne sont là que les concepts de base qui vous aideront à vous familiariser avec Hive.

Si vous souhaitez en savoir plus sur le Big Data, consultez notre programme PG Diploma in Software Development Specialization in Big Data qui est conçu pour les professionnels en activité et fournit plus de 7 études de cas et projets, couvre 14 langages et outils de programmation, pratique pratique ateliers, plus de 400 heures d'apprentissage rigoureux et d'aide au placement dans les meilleures entreprises.

Bon apprentissage!

Menez la révolution technologique axée sur les données

Plus de 400 heures d'apprentissage. 14 langues et outils. Statut des anciens de l'IIIT-B.
Programme de certificat avancé en Big Data de l'IIIT Bangalore