Recherche
Premier semestre

IT Tools 2 (NoSQL, Big Data Processing with Spark)

Objectifs

NoSQL :
Comprendre les principes fondamentaux des bases de données NoSQL et les caractéristiques et défis spécifiques que les bases de données NoSQL abordent par rapport aux bases de données SQL classiques. Évaluer et sélectionner les technologies NoSQL appropriées pour des situations particulières. Acquérir une expérience pratique dans le déploiement et l’utilisation de bases de données NoSQL, telles que MongoDB ou Neo4j.

Big Data Processing with Spark :
Comprendre les enjeux du calcul distribué à travers l’architecture Apache Spark. Découvrir comment utiliser Apache Spark, les plateformes et les outils disponibles. Pratiquer le codage PySpark pour apprendre les fonctionnalités d’Apache Spark, de la gestion des données à l’apprentissage automatique.

Plan

NoSQL :
– Origines NoSQL (histoire et acteurs)
– Comparaison NoSQL / SQL
– Concepts clés des bases de données NoSQL :
– Modèles de données
– Modèles de distribution
– Langages de requête
– Cohérence
– Types de bases de données NoSQL
– Technologies et comparaisons des bases de données NoSQL (MongoDB, Cassandra, Neo4j, Redis, ElasticSearch…)
– Neo4j introduction + laboratoire
– ElasticSearch introduction + laboratoire

Big Data Processing with Spark :
– Introduction à l’informatique distribuée
– Origine et histoire d’Apache Spark, liens avec Apache Hadoop
– Architecture et concepts principaux d’Apache :
– Les "modules" d’Apache Spark
– Architecture : pilote et exécuteurs
– Transformations vs. actions
– Évaluation paresseuse
– Structures de données : RDD, dataframes & datasets
– Utilisation d’Apache Spark :
– Créer des sessions et se connecter à des clusters
– Utiliser les fonctions de gestion des données
– Exploiter SQL avec Spark SQL
– Entraîner et tester des modèles d’apprentissage automatique
– Utiliser l’interface Web de Spark

Prérequis

NoSQL :
Connaissance de base du langage SQL, des bases de données et des systèmes informatiques

Big Data Processing with Spark :
Connaissance de base des systèmes informatiques et de l’architecture, pratique des langages Python et SQL