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. Quel gestionnaire de clusters Spark prend-il en charge ?
A MESOS
B YARN
C Gestionnaire de cluster autonome
D Toutes les réponses sont vraies
D
Apache Spark prend en charge ces trois types de gestionnaire de cluster.
Hadoop Yarn
Apache Mesos
Gestionnaire de cluster autonome
Le gestionnaire de cluster est une plateforme (mode cluster) où nous pouvons exécuter Spark. En termes simples, le gestionnaire de cluster fournit des ressources à tous les nœuds de traitement en fonction des besoins, et il fait fonctionner tous les nœuds en conséquence.
2. Le niveau de stockage par défaut de la méthode cache() est ___________
A MEMORY_ONLY
B MEMORY_AND_DISK
C DISK_ONLY
D MEMORY_ONLY_SER
A
Tous les différents niveaux de stockage pris en charge par Spark sont disponibles dans la classe « org.apache.spark.storage.StorageLevel ». Le niveau de stockage spécifie comment et où persister ou mettre en cache un DataFrame et un Dataset Spark.
MEMORY_ONLY: Il s’agit du comportement par défaut de la méthode RDD cache() qui stocke le RDD ou le DataFrame sous forme d’objets désérialisés dans la mémoire de la JVM. Si la mémoire disponible est insuffisante, les DataFrame de certaines partitions ne seront pas sauvegardés et seront recalculés en cas de besoin.
3. Lequel n’est pas un composant au sommet de Spark Core ?
A Spark RDD
B Spark Streaming
C MLlib
D Aucun des composants ci-dessus
A
Spark SQL est un composant au sommet de Spark Core qui introduit un nouvel ensemble d’abstraction de données appelé SchemaRDD. SchemaRDD prend en charge les données structurées et semi-structurées.
4. En quelle année Apache Spark a-t-il été rendu open-source ?
A 2009
B 2008
C 2010
D 2011
C
Apache Spark a été créé en 2009 par des chercheurs de l’Université de Californie à Berkeley (AMPLab), puis il a été rendu open source en 2010. Le projet a ensuite rejoint la Apache Software Foundation en 2013, où il est devenu un des frameworks majeurs pour le traitement distribué de données à grande échelle.
5. En plus des tâches de traitement de flux, quelles sont les autres fonctionnalités offertes par Spark ?
A Machine learning
B Traitement graphique
C Traitement par lots
D Toutes les réponses sont vraies
D
En plus du traitement de flux de données avec Spark Streaming / Structured Streaming, Apache Spark propose plusieurs autres fonctionnalités : le Machine Learning avec MLlib, le traitement de graphes avec GraphX, ainsi que le traitement par lots (Batch Processing) avec Spark Core et Spark SQL. Ces composants font de Spark une plateforme complète pour l’analyse et le traitement distribué des données.
6. Spark est-il inclus dans toutes les principales distributions de Hadoop ?
A Oui
B Non
C Peut-être
D Je ne sais pas!
A
Apache Spark est inclus ou pris en charge par les principales distributions Hadoop, notamment celles proposées par des plateformes comme Cloudera, Hortonworks et MapR. Spark peut s’intégrer avec l’écosystème Hadoop, notamment avec HDFS pour le stockage des données et YARN pour la gestion des ressources du cluster. Cette intégration permet d’utiliser Spark au sein d’environnements Hadoop existants.
7. Laquelle des affirmations suivantes n’est pas VRAIE pour Hadoop et Spark ?
A Les deux sont des plateformes de traitement de données
B Les deux sont des environnements de calcul en grappe
C Les deux ont leur propre système de fichiers
D Les deux utilisent des API open source pour relier différents outils.
C
Cette affirmation est fausse, car Hadoop possède son propre système de fichiers distribué appelé HDFS (Hadoop Distributed File System), tandis qu’Apache Spark n’a pas de système de fichiers propre. Spark est un moteur de traitement qui s’appuie sur des systèmes de stockage existants comme HDFS, Amazon S3, Azure Data Lake, etc.
Les autres affirmations sont vraies : Hadoop et Spark sont des plateformes de traitement de données, des environnements de calcul distribué en cluster et utilisent des API open source pour s’intégrer avec différents outils.
8. À quelle vitesse Apache Spark peut-il potentiellement exécuter des programmes de traitement par lots lorsqu’ils sont traités en mémoire, par rapport à MapReduce ?
A 10 fois plus rapide
B 20 fois plus rapide
C 100 fois plus rapide
D 200 fois plus rapide
C
Apache Spark peut exécuter certains programmes de traitement par lots (Batch Processing) jusqu’à 100 fois plus rapidement que Hadoop MapReduce lorsque les données sont traitées en mémoire (in-memory processing). Cette amélioration vient du fait que Spark réduit les accès au disque grâce au stockage en mémoire et optimise l’exécution avec des mécanismes comme le DAG (Directed Acyclic Graph) et l’évaluation paresseuse (Lazy Evaluation).
9. Lesquels des éléments suivants fournissent la capacité d’ordonnancement rapide du Spark Core pour effectuer des analyses en continu ?
A RDD
B GraphX
C Spark Streaming
D Spark R
C
Spark Streaming est le composant d’Apache Spark qui permet le traitement des données en continu (stream processing). Il utilise les capacités de planification rapide de Spark Core pour traiter les flux de données en temps réel sous forme de micro-lots (micro-batches). Les autres composants ont des rôles différents : RDD est une structure de données, GraphX est dédié au traitement des graphes et SparkR fournit une interface R pour Spark.
10. Laquelle des raisons suivantes explique que Spark soit plus rapide que MapReduce ?
A Moteur d’exécution DAG et calcul en mémoire
B Prise en charge de différentes API de langage comme Scala, Java, Python et R.
C Les RDD sont immuables et tolérants aux pannes.
D Aucune de ces réponses
A
Apache Spark est souvent plus rapide que Hadoop MapReduce grâce à son moteur d’exécution basé sur un DAG (Directed Acyclic Graph) et son traitement en mémoire (in-memory computing). Le DAG permet d’optimiser l’enchaînement des opérations avant leur exécution, tandis que le calcul en mémoire réduit les accès fréquents au disque, ce qui améliore fortement les performances. Les autres propositions décrivent des caractéristiques de Spark, mais elles ne sont pas les principales raisons de sa rapidité.