AccueilBlogTest technique Hadoop et Hive : maîtriser l héritage data
Guide recrutement data

Test technique Hadoop et Hive : maîtriser l héritage data

Hadoop est omniprésent dans les organisations qui ont investi dans le big data il y a 10 ans. En entretien, on évalue la capacité à maintenir cet héritage ET à planifier la migration vers le cloud.

Data Builder·Juin 2025·6 min de lecture·Data Engineer
Sommaire
  1. HDFS : stockage distribué
  2. MapReduce vs Spark
  3. Hive et HiveQL
  4. Partitionnement Hive
  5. Migration vers le cloud
  6. Interopérabilité avec les outils modernes
  7. Grille

1HDFS : architecture et concepts

Question discriminante

Quelle est l architecture HDFS ? Pourquoi Spark est-il plus adapté qu HDFS pour les nouvelles architectures ?

2MapReduce : comprendre le modèle

Question discriminante

Expliquez le paradigme MapReduce. Pourquoi Spark l a-t-il largement remplacé ?

## MapReduce : framework de traitement distribué # Phase MAP : transformer chaque record en paires (clé, valeur) def mapper(record): for word in record.split(): yield (word, 1) # Phase SHUFFLE : regrouper par clé (automatique) # word -> [(word, 1), (word, 1), (word, 1)...] # Phase REDUCE : agréger les valeurs par clé def reducer(key, values): return (key, sum(values)) ## Spark vs MapReduce : # MapReduce : écrit sur disque entre chaque étape -> lent # Spark : garde les données en mémoire -> 10-100x plus rapide # MapReduce : 1 étape par job -> beaucoup de jobs pour les algos complexes # Spark : DAG d opérations -> pipeline complet en un seul job

3Hive : SQL sur Hadoop

Question discriminante

Comment Hive traduit-il les requêtes SQL en jobs MapReduce ou Tez ?

-- Hive : interface SQL sur HDFS -- Les données sont dans HDFS, Hive ajoute le schéma -- Créer une table externe (les données restent dans HDFS) CREATE EXTERNAL TABLE orders ( order_id STRING, customer_id STRING, amount DOUBLE, order_date DATE ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS PARQUET LOCATION '/user/hive/warehouse/orders/'; -- Requête HiveQL (syntaxe proche de SQL) SELECT customer_id, SUM(amount) AS total_revenue FROM orders WHERE order_date >= '2024-01-01' GROUP BY customer_id ORDER BY total_revenue DESC LIMIT 10;

4Partitionnement Hive : performance critique

Question discriminante

Comment le partitionnement Hive améliore-t-il les performances ?

-- Partitionnement statique : données dans des sous-répertoires CREATE TABLE orders_partitioned ( order_id STRING, customer_id STRING, amount DOUBLE ) PARTITIONED BY (year INT, month INT) STORED AS ORC; -- HDFS structure : -- /warehouse/orders_partitioned/year=2024/month=01/ -- /warehouse/orders_partitioned/year=2024/month=02/ -- Sans partitionnement : scan complet de toute la table -- Avec partitionnement : scan uniquement des partitions filtrées SELECT * FROM orders_partitioned WHERE year = 2024 AND month = 1; -- ne lit que ce dossier -- Bucketing : subdiviser les partitions pour les jointures CREATE TABLE orders_bucketed CLUSTERED BY (customer_id) INTO 50 BUCKETS STORED AS ORC;

5Migrer de Hadoop vers le cloud

Question discriminante

Quelle est la stratégie de migration d un cluster Hadoop vers le cloud ?

6Interopérabilité Hadoop / outils modernes

Question discriminante

Comment faites-vous cohabiter Hadoop existant avec dbt ou Spark ?

7Grille par niveau

NiveauMaitriseSignal GONO-GO
ConfirméArchitecture HDFS, HiveQL, partitionnementA requêté Hive, comprend le partitionnement, peut écrire du HiveQLNe sait pas ce qu est HDFS
SeniorMapReduce vs Spark, stratégie de migration, Hive MetastoreA participé à une migration Hadoop → cloud, utilise Trino pour l interopérabilitéNe sait pas expliquer pourquoi Spark est plus rapide que MapReduce

Vous recrutez un Data Engineer qui connaît l héritage Hadoop ?

Premier entretien gratuit. Rapport GO/NO-GO sous 48h.