QCM sur le framework Apache Spark avec des réponses pour la préparation des entretiens d’embauche, tests en ligne, examens et certifications. Ces questions et réponses sur le framework Apache Spark comprennent divers sujets tel que les bases du framework Apache Spark, Hadoop, MapReduce, Requêtes interactives, traitement en flux, ETL, Big Data, etc…. Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur le framework Apache Spark.
1. Qu’est-ce qu’une action dans Spark RDD ?
A Crée un ou plusieurs nouveaux RDD
B Prend un RDD en entrée et produit un ou plusieurs RDD en sortie.
C Les moyens d’envoyer le résultat des exécuteurs au pilote
D Toutes les réponses sont vraies
C
Dans Apache Spark, une action est une opération qui déclenche l’exécution des transformations en attente et renvoie un résultat au programme pilote (driver) ou écrit les données dans un stockage externe. Contrairement aux transformations, qui créent de nouveaux RDD, les actions produisent un résultat final. Des exemples d’actions sont collect(), reduce(), count(), take(), countByKey() et foreach().
2. Lorsque nous voulons travailler avec le dataset actuel, nous utilisons alors une transformation ?
A Vrai
B Faux
C Peut-être
D Je ne sais pas!
B
Dans Apache Spark, une transformation crée toujours un nouveau RDD ou DataFrame à partir d’un existant, sans exécuter immédiatement le calcul. En revanche, lorsqu’on souhaite travailler sur le dataset actuel et obtenir un résultat, on utilise une action, qui déclenche l’exécution des transformations en attente et renvoie le résultat au pilote ou l’écrit dans un système de stockage.
3. Les défauts de Hadoop MapReduce ont été surmontés par Spark RDD en ___________
A Traitement en mémoire
B DAG
C Évaluation paresseuse (Lazy-evaluation)
D Toutes les réponses sont vraies
D
Spark RDD améliore les performances par rapport à Hadoop MapReduce grâce à plusieurs innovations : le traitement en mémoire (In-Memory Processing), qui réduit les accès disque, le DAG (Directed Acyclic Graph), qui optimise l’enchaînement des opérations, et l’évaluation paresseuse (Lazy Evaluation), qui retarde l’exécution des transformations jusqu’à ce qu’une action soit appelée. Ces mécanismes permettent à Spark d’être beaucoup plus rapide et plus efficace que MapReduce pour de nombreux traitements de données.
4. Que fait le moteur Spark ?
A Planification
B Distribution des données sur un cluster
C Surveillance des données dans un cluster
D Toutes les réponses sont vraies
D
Le moteur Spark est responsable de la planification des tâches, de la distribution des données et des calculs sur les différents nœuds du cluster, ainsi que de la surveillance de l’exécution des tâches et des ressources. Il coordonne l’ensemble du traitement afin d’assurer une exécution distribuée, efficace et tolérante aux pannes.
5. La mise en cache est une technique d’optimisation?
A Vrai
B Faux
C Peut-être
D Je ne sais pas!
A
Dans Apache Spark, la mise en cache (caching) est une technique d’optimisation qui consiste à conserver un RDD ou un DataFrame en mémoire afin d’éviter de le recalculer à chaque utilisation. Avec la persistance (persist()), elle améliore considérablement les performances lorsque les mêmes données sont réutilisées plusieurs fois au cours d’un traitement.
6. Lequel des éléments suivants est le point d’entrée d’une application Spark?
A SparkSession
B SparkContext
C Les deux A et B
D Aucune de ces réponses
B
SparkContext est le point d’entrée fondamental d’une application Apache Spark. Il établit la connexion avec le cluster, gère les ressources et permet de créer des RDD pour le traitement distribué. Depuis Spark 2.0, SparkSession est toutefois recommandé pour les nouvelles applications, car il regroupe les fonctionnalités de SparkContext, SQLContext et HiveContext dans une interface unique. Néanmoins, dans le contexte de cette question, la réponse attendue est B. SparkContext.
8. SparkContext indique comment accéder au cluster Spark.
A Vrai
B Faux
C Peut-être
D Je ne sais pas!
A
SparkContext est l’objet principal qui établit la connexion entre une application Spark et le cluster Spark. Il contient les informations nécessaires pour accéder au cluster, gérer les ressources, créer des RDD et coordonner l’exécution des tâches distribuées. C’est donc lui qui permet à l’application de communiquer avec le cluster Spark.
9. Lequel des éléments suivants est le point d’entrée de Spark SQL?
A SparkSession
B SparkContext
C Les deux A et B
D Aucune de ces réponses
A
SparkSession est le point d’entrée de Spark SQL. Introduit à partir de Spark 2.0, il fournit une interface unifiée pour travailler avec les DataFrame, les Dataset et exécuter des requêtes SQL. Il intègre également les fonctionnalités de SQLContext, HiveContext et s’appuie sur un SparkContext en arrière-plan pour gérer l’exécution des traitements.
10. Lequel des éléments suivants est une solution open-source?
A Apache Spark
B Apache Hadoop
C Apache Flink
D Toutes les réponses sont vraies
D
Apache Spark, Apache Hadoop et Apache Flink sont tous des projets open source de la Apache Software Foundation. Ils sont librement disponibles, maintenus par une large communauté et utilisés pour le traitement distribué de données à grande échelle. Chacun répond à des besoins spécifiques : Hadoop pour le stockage et le traitement distribué, Spark pour le calcul en mémoire et l’analytique, et Flink pour le traitement des flux de données et des traitements distribués.