Cadres de calcul parallèle

Introduction à l'ingénierie des données

Vincent Vankrunkelsven

Data Engineer @ DataCamp

 

Logo d'Apache Hadoop

Introduction à l'ingénierie des données

HDFS

 

Schéma de HDFS comme système de fichiers distribué

Introduction à l'ingénierie des données

MapReduce

 

Logo de Hadoop MapReduce

 

Schéma illustrant l'exemple des épreuves olympiques

Introduction à l'ingénierie des données

Hive

 

  • S'exécute sur Hadoop
  • Langage de requêtes structuré : Hive SQL
  • D'abord MapReduce, maintenant d'autres outils

Logo d'Apache Hive

Introduction à l'ingénierie des données

Hive : un exemple

 

SELECT year, AVG(age)
FROM views.athlete_events
GROUP BY year

 

Schéma de Hive vers MapReduce

Introduction à l'ingénierie des données

Image du logo Spark

  • Évite les écritures sur disque
  • Maintenu par la Apache Software Foundation
Introduction à l'ingénierie des données

Jeux de données distribués résilients (RDD)

 

  • Spark s'appuie dessus
  • Semblable à une liste de tuples
  • Transformations : .map() ou .filter()
  • Actions : .count() ou .first()
Introduction à l'ingénierie des données

PySpark

 

  • Interface Python pour Spark
  • Abstraction DataFrame
  • Semble similaire à Pandas
Introduction à l'ingénierie des données

PySpark : un exemple

# Load the dataset into athlete_events_spark first

(athlete_events_spark
  .groupBy('Year')
  .mean('Age')
  .show())
SELECT year, AVG(age)
FROM views.athlete_events
GROUP BY year
Introduction à l'ingénierie des données

Passons à la pratique !

Introduction à l'ingénierie des données

Preparing Video For Download...