Voici une liste complète et détaillée de questions-réponses couvrant tous les aspects du Big
Data, y compris Spark, Hadoop, Kafka, et d’autres technologies connexes comme Hive,
Flink, NoSQL, etc.
📘 1. Introduction Générale au Big Data
❓ Qu’est-ce que le Big Data ?
Réponse : Le Big Data désigne des ensembles de données volumineux, variés et générés à
grande vitesse, que les outils traditionnels ne peuvent pas traiter efficacement. On parle
souvent des 5 V : Volume, Vélocité, Variété, Véracité, Valeur.
❓ Quels sont les principaux cas d’usage du Big Data ?
Réponse :
Analyse prédictive
Personnalisation marketing
Maintenance prédictive
Détection de fraude
Analyse en temps réel (ex. streaming de capteurs)
🏗️ 2. Hadoop
❓ Qu’est-ce que Hadoop ?
Réponse : Hadoop est un framework open-source pour stocker et traiter de gros volumes de
données en mode distribué. Il repose sur HDFS (Hadoop Distributed File System) et
MapReduce.
❓ Que fait HDFS ?
Réponse : HDFS stocke les fichiers de manière distribuée sur plusieurs machines avec
redondance (réplication) pour tolérance aux pannes.
❓ C’est quoi MapReduce ?
Réponse : Un modèle de programmation permettant de traiter les données sur plusieurs
nœuds. Il se compose de deux phases : Map (filtrage/tri) et Reduce (agrégation).
❓ Quelle est la différence entre Hadoop 1 et Hadoop 2 ?
Réponse :
Hadoop 1 utilise MapReduce comme moteur principal.
Hadoop 2 introduit YARN (Yet Another Resource Negotiator) pour une meilleure
gestion des ressources et support de moteurs comme Spark ou Tez.
⚡ 3. Apache Spark
❓ Qu’est-ce que Spark ?
Réponse : Apache Spark est un moteur de traitement de données massives, distribué et
rapide, supportant des calculs en mémoire et des traitements batch, streaming, ML et SQL.
❓ Différences entre Spark et MapReduce ?
Réponse :
Spark traite en mémoire, MapReduce lit/écrit sur disque.
Spark est beaucoup plus rapide.
Spark propose des APIs haut niveau (Scala, Python, Java, R).
❓ Qu’est-ce qu’un RDD ?
Réponse : RDD (Resilient Distributed Dataset) est la structure de base de Spark. Il est
tolérant aux pannes, distribué et immuable.
❓ C’est quoi un DataFrame ?
Réponse : Une abstraction de haut niveau similaire à une table SQL, avec un schéma. Plus
optimisé que les RDD.
❓ Qu’est-ce que Spark SQL ?
Réponse : Module de Spark permettant d’exécuter des requêtes SQL sur des DataFrames et
d'intégrer des données de type Hive, Parquet, JSON, etc.
❓ Spark supporte-t-il le streaming ?
Réponse : Oui, via Spark Streaming (micro-batching) et Structured Streaming (traitement
continu avec API unifiée).
🛰️ 4. Apache Kafka
❓ Qu’est-ce que Kafka ?
Réponse : Kafka est une plateforme distribuée de streaming conçue pour ingérer et traiter des
flux de données en temps réel. Elle repose sur des topics, des producteurs et des
consommateurs.
❓ Quelle est la différence entre Kafka et une base de données classique ?
Réponse : Kafka est conçu pour la diffusion en temps réel de données, pas pour le stockage
relationnel structuré. Il agit comme un système de messagerie haut débit.
❓ Que fait un broker Kafka ?
Réponse : Il stocke et transmet les messages d’un topic aux consommateurs.
❓ Qu’est-ce qu’un topic dans Kafka ?
Réponse : Un canal dans lequel les producteurs envoient des messages et les consommateurs
les lisent.
❓ Kafka garantit-il l’ordre des messages ?
Réponse : Oui, dans une partition unique. Pas entre plusieurs partitions.
🐘 5. Hive, HBase et NoSQL
❓ Qu’est-ce que Hive ?
Réponse : Un data warehouse basé sur Hadoop qui permet d’interroger des données en
HDFS avec un langage proche de SQL appelé HiveQL.
❓ Différences entre Hive et HBase ?
Réponse :
Hive est orienté batch et requêtes analytiques.
HBase est une base NoSQL orientée colonnes, pour accès rapide à faible latence.
❓ Pourquoi utiliser NoSQL dans le Big Data ?
Réponse : Pour stocker des données non structurées ou semi-structurées à grande échelle
(documents, graphes, colonnes, etc.) sans schéma fixe.
🔄 6. Traitement de Flux (Streaming)
❓ Qu’est-ce que le streaming ?
Réponse : Traitement en temps réel de données continues (ex. capteurs, logs, transactions).
Contrairement au batch, il traite des petits lots ou événements en direct.
❓ Technologies de streaming populaires ?
Réponse :
Apache Kafka
Apache Flink
Spark Streaming
Apache Storm
📊 7. Outils Complémentaires
❓ C’est quoi Flink ?
Réponse : Moteur de traitement de flux orienté événements (streaming natif), plus granulaire
que Spark Streaming.
❓ Qu’est-ce que Sqoop ?
Réponse : Outil pour transférer efficacement des données entre Hadoop et des bases de
données relationnelles.
❓ Qu’est-ce qu’Oozie ?
Réponse : Orchestrateur de workflows Hadoop pour planifier des jobs MapReduce, Hive,
Pig, etc.
🔐 8. Sécurité et Gouvernance
❓ Comment sécuriser un cluster Hadoop ?
Réponse :
Authentification (Kerberos)
Contrôle d’accès (Ranger, Sentry)
Chiffrement des données
Audit des accès
❓ Qu’est-ce que Apache Ranger ?
Réponse : Un outil de gouvernance pour définir des politiques d’accès fine-grainée dans un
environnement Big Data.
📈 9. Données & Stockage
❓ Formats de fichiers courants dans Big Data ?
Réponse :
Parquet (colonnes, optimisé)
Avro (sérialisation)
ORC (pour Hive)
JSON, CSV
❓ Différence entre format row-based et column-based ?
Réponse :
Row-based (ligne) : rapide pour lecture complète
Column-based : rapide pour agrégation/analytique (ex. Parquet, ORC)
🧠 10. Machine Learning avec Big Data
❓ Spark permet-il le Machine Learning ?
Réponse : Oui, avec le module MLlib (librairie d’algorithmes ML distribués : classification,
régression, clustering, etc.).
❓ Qu’est-ce que MLlib ?
Réponse : Bibliothèque de Spark pour les traitements ML en mode distribué. Supporte
pipelines, évaluateurs, extracteurs de features.