Ce cours présente des outils et méthodes de traitement de gros volumes de données (Big Data) au travers de la suite logicielle Hadoop. Hadoop est un ensemble de services et d'applications permettant de stocker et d'administrer des fichiers et des bases de données de très grande taille et de lancer des programmes de calcul sur ces données. Le principe est de répartir les données et les traitements sur un groupe de plusieurs machines appelé amas (cluster). Hadoop est utilisé par des entreprises comme Google, Facebook, Amazon, etc. Ce cours présente plusieurs outils de cette suite :
- HDFS : un système de fichier distribué,
- MapReduce : API Java permettant l'écriture de programmes distribués de recherche d'information,
- Spark : un outil concurrent de Hadoop pour exécuter des programmes,
- Cassandra : une base de données distribuée pouvant fonctionner avec Spark,
- Pig : un outil permettant d'écrire des programmes destinés à MapReduce avec un langage de script,
- HBase : une base de données orientée colonne, non SQL, qui s'appuie sur HDFS,
- Hive : un SGBD appuyé sur HBase qui propose un langage de requête ressemblant à SQL et générant des programmes MapReduce,
- ElasticSearch : une base de données distribuée.
Prérequis :
- Langage Java
- Langage Python de base
- Bases de données
- Systèmes d'exploitation
L'ensemble du cours est repris dans un seul polycopié