Spark : traitement de données
Programme
Présentation de Spark
- Spark : un besoin de distribuer vos traitements
- Architecture de Spark runtime : driver, executor, master
- Positionner Spark vs Hadoop
- Les langages du framework : Java | Scala | Python | R
RDD : Resilient Distributed Dataset
- RDD : Le composant fondateur du fonctionnement de Spark
- Les partitions : la base de la distribution
- Transformations, actions et directed acyclic Graph
- Manipuler un RDD : Une API riche
- Le cas particulier des Pairs RDD
SparkSQL, Dataframes et Datasets
- Un modèle de programmation haut niveau
Initialisation d’un dataframe
- Manipulation : sélection, tri et fonctions d’agrégation.
- Dataset : une surcouche typée des dataframes
- Comprendre le plan d’exécution d’une requête
- Bonnes et mauvaises pratiques avec SparkSQL
Mise en cluster : Les infrastructures de déploiement
- Les composants d’une exécution Spark : Jobs, stages et tasks
- Un principe important : Data locality
- Distribution des données dans le cadre d’un cluster : les partitions
- Redistribution des données : le shuffle
- Bonnes pratiques et performance