15+ questions et réponses d'entretien avec Apache Spark 2022

Publié: 2021-01-08

Quiconque connaît Apache Spark sait pourquoi il devient l'un des outils Big Data les plus appréciés aujourd'hui - il permet un calcul ultra-rapide.

Le fait que Spark prenne en charge le traitement rapide du Big Data en fait un succès auprès des entreprises du monde entier. Des grands noms comme Amazon, Alibaba, eBay et Yahoo aux petites entreprises du secteur, Spark a gagné un énorme nombre de fans. Grâce à cela, les entreprises recherchent en permanence des professionnels qualifiés du Big Data ayant une expertise dans le domaine de Spark.

Pour tous ceux qui souhaitent décrocher des emplois liés à un profil Big Data (Spark), vous devez d'abord réussir l'entretien Spark. Voici quelque chose qui peut vous rapprocher de votre objectif - 15 questions d'entretien Apache Spark les plus fréquemment posées !

  1. Qu'est-ce que Spark ?

Spark est un framework Big Data open source de calcul en cluster qui permet un traitement en temps réel. Il s'agit d'un moteur de traitement de données à usage général capable de gérer différentes charges de travail telles que les traitements par lots, interactifs, itératifs et en continu. Spark exécute des calculs en mémoire qui permettent d'accélérer la vitesse de traitement des données. Il peut fonctionner de manière autonome, sur Hadoop ou dans le cloud.

  1. Qu'est-ce que RDD ?

RDD ou Resilient Distributed Dataset est la structure de données principale de Spark. C'est une abstraction essentielle dans Spark qui représente l'entrée de données dans un format objet. RDD est une collection d'objets immuables en lecture seule dans laquelle chaque nœud est partitionné en parties plus petites qui peuvent être calculées sur différents nœuds d'un cluster pour permettre un traitement indépendant des données.

  1. Faites la différence entre Apache Spark et Hadoop MapReduce.

Les principaux différenciateurs entre Apache Spark et Hadoop MapReduce sont :

  • Spark est plus facile à programmer et ne nécessite aucune abstraction. MapReduce est écrit en Java et est difficile à programmer. Il a besoin d'abstractions.
  • Spark a un mode interactif, alors que MapReduce n'en a pas. Cependant, des outils comme Pig et Hive facilitent le travail avec MapReduce.
  • Spark permet le traitement par lots, le streaming et l'apprentissage automatique au sein du même cluster. MapReduce est le mieux adapté au traitement par lots.
  • Spark peut modifier les données en temps réel via Spark Streaming. Il n'y a pas une telle disposition en temps réel dans MapReduce - vous ne pouvez traiter qu'un lot de données stockées.
  • Spark facilite les calculs à faible latence en mettant en cache les résultats partiels en mémoire. Cela nécessite plus d'espace mémoire. Au contraire, MapReduce est orienté disque, ce qui permet un stockage permanent.
  • Étant donné que Spark peut exécuter des tâches de traitement en mémoire, il peut traiter les données beaucoup plus rapidement que MapReduce.
  1. Qu'est-ce que le vecteur creux ?

Un vecteur clairsemé comprend deux tableaux parallèles, l'un pour les indices et l'autre pour les valeurs. Ils sont utilisés pour stocker des entrées non nulles afin d'économiser de l'espace mémoire.

  1. Qu'est-ce que le partitionnement dans Spark ?

Le partitionnement est utilisé pour créer des unités de données plus petites et logiques afin d'accélérer le traitement des données. Dans Spark, tout est un RDD partitionné. Les partitions parallélisent le traitement distribué des données avec un trafic réseau minimal pour envoyer des données aux différents exécuteurs du système.

  1. Définir la transformation et l'action.

Transformation et Action sont des opérations exécutées dans un RDD.

Lorsque la fonction de transformation est appliquée à un RDD, elle crée un autre RDD. Deux exemples de transformation sont map() et filer() - tandis que map() applique la fonction qui lui est transférée sur chaque élément de RDD et crée un autre RDD, filter() crée un nouveau RDD en sélectionnant des composants du RDD actuel qui transfèrent le argument de la fonction. Il est déclenché uniquement lorsqu'une action se produit.

Une action récupère les données de RDD sur la machine locale. Il déclenche l'exécution en utilisant un graphique de lignage pour charger les données dans le RDD d'origine, effectuer toutes les transformations intermédiaires et renvoyer les résultats finaux au programme Driver ou les écrire dans le système de fichiers.

  1. Qu'est-ce qu'un graphique de lignage ?

Dans Spark, les RDD dépendent les uns des autres. La représentation graphique de ces dépendances entre les RDD est appelée un graphe de lignage. Avec les informations du graphe de lignage, chaque RDD peut être calculé à la demande - si jamais un morceau d'un RDD persistant est perdu, les données perdues peuvent être récupérées à l'aide des informations du graphe de lignage.

  1. Quel est le but du SparkCore ?

SparkCore est le moteur de base de Spark. Il exécute une multitude de fonctions vitales telles que la tolérance aux pannes, la gestion de la mémoire, la surveillance des travaux, la planification des travaux et l'interaction avec les systèmes de stockage.

  1. Nommez les principales bibliothèques de l'écosystème Spark.

Les principales bibliothèques de l'écosystème Spark sont :

  • Spark Streaming – Il est utilisé pour activer le streaming de données en temps réel.
  • Spark MLib - C'est la bibliothèque d'apprentissage automatique de Spark qui est couramment utilisée pour les algorithmes d'apprentissage tels que la classification, la régression, le clustering, etc.
  • Spark SQL - Il permet d'exécuter des requêtes de type SQL sur des données Spark en appliquant des outils de visualisation ou d'informatique décisionnelle standard.
  • Spark GraphX ​​- Il s'agit d'une API Spark pour le traitement des graphiques afin de développer et de transformer des graphiques interactifs.
  1. Qu'est-ce que le FIL ? Est-il nécessaire d'installer Spark sur tous les nœuds d'un cluster YARN ?

Yarn est une plate-forme centrale de gestion des ressources dans Spark. Il permet la livraison d'opérations évolutives sur le cluster Spark. Alors que Spark est l'outil de traitement des données, YARN est le gestionnaire de conteneurs distribués. Tout comme Hadoop MapReduce peut s'exécuter sur YARN, Spark peut également s'exécuter sur YARN.

Il n'est pas nécessaire d'installer Spark sur tous les nœuds d'un cluster YARN car Spark peut s'exécuter sur YARN - il s'exécute indépendamment de son installation. Il comprend également différentes configurations à exécuter sur YARN telles que le maître, la file d'attente, le mode de déploiement, la mémoire du pilote, la mémoire de l'exécuteur et les cœurs de l'exécuteur.

  1. Qu'est-ce que le cadre Catalyst ?

Le framework Catalyst est un framework d'optimisation unique dans Spark SQL. L'objectif principal d'un framework catalyseur est de permettre à Spark de transformer automatiquement les requêtes SQL en ajoutant de nouvelles optimisations pour développer un système de traitement plus rapide.

  1. Quels sont les différents types de gestionnaires de clusters dans Spark ?

Le framework Spark comprend trois types de gestionnaires de cluster :

  1. Autonome – Le gestionnaire principal utilisé pour configurer un cluster.
  2. Apache Mesos - Le gestionnaire de cluster intégré et généralisé de Spark qui peut également exécuter Hadoop MapReduce et d'autres applications.
  3. Yarn - Le gestionnaire de cluster pour gérer la gestion des ressources dans Hadoop.
  1. Qu'est-ce qu'un nœud de travail ?

Le nœud travailleur est le « nœud esclave » du nœud maître. Il fait référence à tout nœud pouvant exécuter le code d'application dans un cluster. Ainsi, le nœud maître attribue le travail aux nœuds de travail qui exécutent les tâches attribuées. Les nœuds de travail traitent les données stockées à l'intérieur, puis rendent compte au nœud maître.

  1. Qu'est-ce qu'un exécuteur Spark ?

Un exécuteur Spark est un processus qui exécute des calculs et stocke les données dans le nœud de travail. Chaque fois que le SparkContext se connecte à un gestionnaire de cluster, il acquiert un exécuteur sur les nœuds d'un cluster. Ces exécuteurs exécutent les tâches finales qui leur sont assignées par le SparkContext.

  1. Qu'est-ce qu'une lime Parquet ?

Le fichier Parquet est un fichier au format colonnaire qui permet à Spark SQL de lire et d'écrire des opérations. L'utilisation de la lime parquet (format colonne) présente de nombreux avantages :

  1. Le format de stockage en colonne consomme moins d'espace.
  2. Le format de stockage de colonne permet de contrôler les opérations d'E/S.
  3. Il vous permet d'accéder facilement à des colonnes spécifiques.
  4. Il suit le codage spécifique au type et fournit des données mieux résumées.

Voilà, nous vous avons introduit dans Spark. Ces 15 concepts fondamentaux de Spark vous aideront à démarrer avec Spark.

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.

Consultez nos autres cours de génie logiciel sur upGrad.

Améliorez vos compétences et préparez-vous pour l'avenir

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