Introduction à Sqoop Questions et réponses d'entrevue

Sqoop est un outil de transfert de données open-source, l'outil Sqoop transfère les données entre l'écosystème Hadoop et les serveurs de bases de données relationnelles (RDBMS). Il importe les données vers le système de fichiers Hadoop (HDFS), à partir de bases de données relationnelles telles que Oracle, MySQL, etc., et exporte également les données du système de fichiers Hadoop vers RDMS.

Vous trouverez ci-dessous les 15 questions et réponses importantes pour les entrevues Sqoop 2019:

Vous avez donc finalement trouvé votre emploi de rêve à Sqoop, mais vous vous demandez comment résoudre l'interview de Sqoop et quelles pourraient être les probables questions d'entrevue de 2019 à Sqoop. Chaque entretien est différent et la portée d'un travail est également différente. En gardant cela à l'esprit, nous avons conçu les questions et réponses d'entrevue Sqoop les plus courantes pour vous aider à réussir votre entrevue.

Ces questions sont divisées en deux parties:

Partie 1 - Questions d'entrevue Sqoop (de base)

Cette première partie couvre les questions et réponses de base de Sqoop.

1. Définissez Sqoop et pourquoi utilisons-nous Sqoop?

Répondre:
Sqoop est un outil de transfert de données open source, conçu pour transférer des données entre l'écosystème Hadoop et les serveurs de bases de données relationnelles (RDBMS). Sqoop est utilisé pour importer les données de bases de données relationnelles telles que Oracle, MySQL, etc., vers le système de fichiers Hadoop (HDFS), et également pour exporter des données du système de fichiers Hadoop vers des bases de données relationnelles.

2. Quelles sont les différentes fonctionnalités de Sqoop?

Répondre:
Voici les différentes fonctionnalités prises en charge par le Sqoop -

  1. Capacité de chargement
  2. Chargement complet et chargement incrémentiel
  3. Techniques de compression des données
  4. Importation des résultats des requêtes SQL
  5. Connecteurs de données pour toutes les principales bases de données
  6. Prise en charge du chargement direct des données dans les systèmes de fichiers Hadoop
  7. Configurations de sécurité comme Kerberos
  8. Fonctionnalités d'importation ou d'exportation simultanées

Passons aux prochaines questions d'entretien de Sqoop.

3. Nommez les bases de données relationnelles et les sources d'écosystème Hadoop prises en charge dans Sqoop?

Répondre:
Sqoop prend actuellement en charge MySQL, PostgreSQL, Oracle, MSSQL, Teradata et Netezza d'IBM dans le cadre des bases de données de relations.

Les services de destination Hadoop Eco-system actuellement pris en charge sont HDFC, Hive, HBase, H Catalog et Accumulo.

Sqoop utilise MySQL comme base de données par défaut.

4. Comment fonctionne Sqoop?

Répondre:
Ce sont les questions d'entretien Sqoop courantes posées dans une interview. Pour effectuer le transfert de données, Sqoop utilise des commandes d'exportation et d'importation. Le programme Map Reduce sera utilisé en interne dans Sqoop pour stocker l'ensemble de données sur HDFS. Les commandes seront associées aux tâches de carte pour récupérer les données des bases de données relationnelles; La tâche Réduire prendra la responsabilité de placer les données récupérées dans les destinations (HDFS / HBase / Hive)

Sqoop utilise également divers connecteurs API pour se connecter à plusieurs bases de données. Sqoop offre également la possibilité de créer des connecteurs personnalisés pour répondre à des exigences spécifiques.

Voyons les exemples de commandes ci-dessous pour l'importation et l'exportation

Une commande pour se connecter à la base de données MySQL pour importer des données de la table 'Log'

sqoop import –connect jdbc: mysql: // localhost / –username –password –table –m 1
sqoop import –connect jdbc: mysql: // localhost / mytestdb –username root –password admin123 –table log –m 1

Une commande pour exporter des données de HDFS vers une base de données relationnelle

sqoop export –connect jdbc: mysql: // localhost / sqoop_export –table export-dir / sqoop / emp_last / part-m-00000 –update-key id
sqoop export –connect jdbc: mysql: // localhost / sqoop_export –table log_table – export-dir / sqoop / data / foler1 / part-m-00000

5. Qu'est-ce que Sqoop Metastore? Explique le?

Répondre:
Le Sqoop Metastore est un outil disponible dans le Sqoop qui sera utilisé pour configurer l'application Sqoop pour permettre l'hébergement d'un référentiel partagé sous forme de métadonnées. Ce métastore peut être utilisé pour exécuter les travaux et gérer un certain nombre d'utilisateurs en fonction des rôles et des activités des utilisateurs. Tous les utilisateurs multiples peuvent effectuer plusieurs tâches ou opérations simultanément pour réaliser les tâches efficacement. Le Sqoop Metastore sera implémenté en tant que représentation en mémoire par défaut. Lorsqu'un travail est créé dans Sqoop, la définition du travail est stockée dans le Metastore et sera répertoriée à l'aide des travaux Sqoop si nécessaire.

6. Quels formats de fichiers Sqoop prend-il en charge lors de l'importation des données?

Répondre:
Sqoop utilise deux formats de fichier pour l'importation de données. Ce sont: - Format de fichier de test délimité et format de fichier de séquence.

Format de fichier texte délimité : Le format de texte délimité est le format de fichier par défaut pour l'importation. Nous pouvons toujours spécifier explicitement en utilisant l'argument –as- textile. De même, la transmission de l'argument définira les délimiteurs entre les lignes et les colonnes.

Format de fichier de séquence : ce format de fichier, nous pouvons dire que c'est un format de fichier binaire. Ce type d'enregistrements de fichier de format est stocké dans des types de données spécifiques aux enregistrements personnalisés qui sont exposés en tant que classes Java.

Passons aux prochaines questions d'entretien de Sqoop.

7. Pouvons-nous contrôler un certain nombre de mappeurs dans sqoop? Si oui, comment?

Répondre:
Oui, nous pouvons contrôler le nombre de mappeurs dans Sqoop en spécifiant le paramètre «-num-mappers» dans la commande sqoop. Ce paramètre peut contrôler le nombre de tâches de mappage, c'est-à-dire que le degré de parallélisme sera utilisé par sqoop. Le nombre sera décidé en fonction de l'exigence.

Syntaxe: utilisez ces drapeaux pour contrôler le nombre de mappeurs: m, -num- mappers

Partie 2 - Questions d'entrevue Sqoop (avancé)

Jetons maintenant un coup d'œil aux questions d'entrevue avancées de Sqoop.

8. Qu'est-ce que Sqoop-merge et expliquez son utilisation?

Répondre:
La fusion Sqoop est un outil qui combine deux jeux de données différents qui conservent la seule version en remplaçant les entrées d'une ancienne version d'un jeu de données par de nouveaux fichiers pour en faire le dernier jeu de données de la version. Il se produit un processus d'aplatissement lors de la fusion des deux jeux de données différents qui préserve les données sans aucune perte et avec efficacité et sécurité. Pour effectuer cette opération, le raccourci clavier de fusion sera utilisé comme «–merge-key»

9. Quelles sont les différences entre Sqoop, flume et distcp?

Répondre:
Distcp et Sqoop sont utilisés pour transférer les données. Sqoop est utilisé pour transférer tout type de données d'un cluster Hadoop vers un autre cluster, tandis que Sqoop transfère des données entre les bases de données relationnelles et l'écosystème Hadoop tels que Hive, HDFS et HBase, etc. Mais les deux méthodes utilisent la même approche pour copier les données, qui est tirer / transférer.

Flume a distribué un outil, suit une architecture basée sur des agents, pour diffuser les journaux dans l'écosystème Hadoop. Tandis que Sqoop est une architecture basée sur des connecteurs.

Flume collecte et agrège une énorme quantité de données de journal. Flume peut collecter les données à partir d'un type de ressources différent; il ne prend pas en compte le schéma ou les données structurées / non structurées. Flume peut extraire tout type de données. Alors que Sqoop ne peut importer que les données de la base de données relationnelle, le schéma est obligatoire pour le traitement de sqoop. Généralement, pour déplacer des charges de travail en vrac, le canal est la meilleure option.

Passons aux prochaines questions d'entretien de Sqoop.

10. Quelles sont les sources de données prises en charge par Apache Sqoop?

Répondre:
Les différentes sources de données provenant de diverses applications prises en charge par Apache Sqoop sont les suivantes:

  1. Ruche
  2. HBase
  3. Système de fichiers distribués Hadoop (HDFS)
  4. HCatalog
  5. Accumulo

11. Quelles sont les commandes / fonctions les plus utilisées dans Sqoop?

Répondre:

Ce sont les questions avancées de Sqoop posées lors d'un entretien. La liste des commandes de base utilisées dans Sqoop est la suivante:

Codegen -Codegen est utilisé pour générer du code pour communiquer avec les enregistrements de la base de données.

Eval -Sqoop Eval aide à exécuter des exemples de requêtes SQL sur les bases de données et fournit les résultats sur la console.

Aide -Aide à répertorier les commandes disponibles

Import -Import importera la table dans l'écosystème Hadoop

Export -Export est utilisé pour exporter des données HDFS vers des bases de données relationnelles.

Create-hive-table -Cette commande est utile pour importer la définition de table dans Hive

Import-all-tables -Import-all-tables importera les tables pour former des bases de données relationnelles vers HDFS.

Liste des bases de données - Il répertorie toutes les bases de données présentes sur un serveur.

List-tables -Il listera toutes les tables présentes dans une base de données.

Versions - Il affichera les informations de version.

Fonctions - Importation / exportation parallèle, pleine charge, charge incrémentielle, pleine charge, comparaison, connecteurs pour bases de données SGBDR, intégration de sécurité Kerberos, chargement de données directement dans HDFS (Hive / HBase)

12. Expliquez les meilleures pratiques lors de l'importation de tables à partir de MySQL ou de toute autre base de données à l'aide de Sqoop?

Répondre:
Lors de l'importation des tables depuis MySQL, nous devons nous assurer de certaines choses comme l'authentification et l'autorisation sur le serveur cible et les bases de données. Nous devons nous assurer que nous avons accordé les privilèges nécessaires sur les bases de données, qui sont accessibles et également nous assurer de la résolution du nom d'hôte lorsque nous nous connectons aux noms d'hôte source et de destination. Si nous ne disposons pas des autorisations nécessaires, nous obtiendrons une exception d'échec de connexion lors de la connexion à la base de données.

13. Comment mettez-vous à jour les données ou les lignes déjà exportées?

Répondre:
Pour mettre à jour les lignes déjà exportées vers la destination, nous pouvons utiliser le paramètre «–update-key». Dans ce cas, une liste de colonnes séparées par des virgules est utilisée qui identifie de manière unique une ligne et toutes ces colonnes sont utilisées dans la clause WHERE de la requête UPDATE générée. La partie SET de la requête prendra en charge toutes les autres colonnes de la table.

Passons aux prochaines questions d'entretien de Sqoop.

14. Comment configurer et installer le pilote JDBC dans Apache Sqoop?

Répondre:
Les pilotes JDB dans Apache Sqoop peuvent être configurés en fonction du fournisseur Hadoop tel que Cloudera ou Hortonworks où sa configuration varie légèrement en fonction du fournisseur Hadoop. Le JDBC dans Cloudera peut être configuré en créant un dossier de bibliothèque comme / var / lib /. Cela peut être fait pour toute bibliothèque tierce qui doit être configurée conformément à l'exigence. De cette façon, tout type de base de données peut être configuré à l'aide de son pilote JDBC. Outre le pilote JDBC, Apache Sqoop nécessite un connecteur pour établir une connexion entre différentes bases de données relationnelles. Les principaux composants requis pour établir une connexion avec les bases de données sont via le pilote et le connecteur du fournisseur de base de données particulier.

15. Qu'est-ce que la clause de séparation et quand l'utilisons-nous?

Répondre:
Un paramètre divisé par permet de découper les données à importer dans plusieurs tâches parallèles. En utilisant ce paramètre, nous pouvons spécifier les noms de la colonne, ce sont des noms de colonnes basés sur le sqoop qui divisera les données à importer en plusieurs morceaux et ils s'exécuteront en parallèle. C'est l'une des techniques pour régler les performances dans Sqoop.

Articles recommandés

Ceci a été un guide pour List Of Sqoop Interview Questions and Answers afin que le candidat puisse réprimer facilement ces questions d'entrevue Sqoop. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Hadoop vs Teradata - Ce qui est bénéfique
  2. 13 questions d'entretien d'embauche
  3. Top 10 des questions d'entrevue les plus utiles de HBase
  4. 10 questions d'entretien PHP les plus impressionnantes pour les expérimentés
  5. Connaître les 5 meilleures questions d'entrevue DBA utiles