Moteurs SQL : Hive vs Impala vs Spark SQL
| Critère | Hive | Impala | Spark SQL |
|---|---|---|---|
| Latence | Minutes à heures | Secondes | Secondes à minutes |
| Cas d'usage | ETL batch, reporting lourd | BI interactive, dashboards | Batch + Streaming + ML |
| Moteur | MapReduce / Tez | MPP natif (C++) | RDD / DataFrame en mémoire |
| Tolérance aux pannes | Excellente | Partielle | Excellente |
| Scalabilité | PB+ | TB à PB | PB+ |
| Apprentissage | Facile (SQL) | Facile (SQL) | Moyen |
| Meilleur pour | Datawarehouse, ETL | Analyse ad-hoc, Tableau | Pipelines complets, ML |
Traitement batch : MapReduce vs Spark
| Critère | MapReduce | Apache Spark |
|---|---|---|
| Vitesse | Référence (1×) | 10-100× plus rapide |
| Stockage intermédiaire | Disque (HDFS) entre étapes | Mémoire (RAM) |
| Types de traitement | Batch uniquement | Batch, Streaming, ML, Graphes |
| Langages | Java principalement | Python, Scala, Java, R, SQL |
| Complexité du code | Verbeux | Concis (DataFrame API) |
| Tolérance aux pannes | Excellente | Excellente (lineage) |
| Quand l'utiliser ? | Jobs legacy, faibles ressources RAM | Presque toujours préférable |
NoSQL : HBase vs Cassandra
| Critère | HBase | Cassandra |
|---|---|---|
| Modèle | Master-Slave (HMaster) | Masterless (anneau P2P) |
| Disponibilité | Haute (SPOF limité) | Maximale (zéro SPOF) |
| Intégration Hadoop | Native (stocke sur HDFS) | Via connecteur Spark |
| Multi-datacenter | Limité | Natif et puissant |
| Interface | API HBase + Phoenix (SQL) | CQL (proche SQL) |
| Idéal pour | Lookup sur HDFS + HBase hybride | IoT, time-series, géo-distribué |
Orchestration : Oozie vs Airflow
| Critère | Oozie | Airflow |
|---|---|---|
| Définition des workflows | XML (verbeux) | Python (code) |
| Interface UI | Basique | Riche et interactive |
| Intégration Hadoop | Native | Via providers (pip) |
| Intégrations Cloud/API | Limitées | 1000+ opérateurs |
| Popularité actuelle | Historique / legacy | Standard industrie |
| Recommandation | Clusters Hadoop legacy | Nouveaux projets data |
Guide de choix rapide
Quel outil pour quel besoin ?
| Stocker des TB/PB de fichiers | HDFS |
| ETL batch SQL | Hive + Tez |
| Analyse BI interactive | Impala |
| Machine Learning distribué | Spark MLlib |
| Streaming temps réel | Kafka + Spark Streaming |
| Import DB relationnelle | Sqoop |
| Collecte de logs | Flume |
| Accès aléatoire ms | HBase |
| Haute disponibilité NoSQL | Cassandra |
| Orchestrer des pipelines | Airflow |
| Contrôle d'accès centralisé | Ranger |
| Cataloguer les données | Atlas |
Stack recommandée pour débuter
Pour une architecture Hadoop moderne, commencez avec :
- HDFS + YARN — fondation
- Hive + Tez — requêtage SQL
- Spark — traitement avancé
- Kafka — ingestion streaming
- Airflow — orchestration
- Ranger — sécurité
Alternatives Cloud managées
AWS EMR, Google Dataproc, Azure HDInsight proposent ces mêmes outils sans gestion d'infrastructure. Databricks offre Spark managé. Confluent Cloud pour Kafka.