Bienvenue dans la formation en français de apache Spark 3.5 .
Saviez-vous que des centaines de grandes entreprises utilisent apache Spark ? Parmi les contributeur nous retrouvons intel, Facebook, IBM, Netflix...
Si vous souhaitez apprendre Spark, étape par étape, vous êtes dans à la bonne formation. Aucune connaissance Spark ou Scala n'est préalablement requise, nous allons voir ensemble la théorie pour ensuite la mettre en pratique.
A la fin de la formation vous connaitrez :
Bienvenue dans la formation en français de apache Spark 3.5 .
Saviez-vous que des centaines de grandes entreprises utilisent apache Spark ? Parmi les contributeur nous retrouvons intel, Facebook, IBM, Netflix...
Si vous souhaitez apprendre Spark, étape par étape, vous êtes dans à la bonne formation. Aucune connaissance Spark ou Scala n'est préalablement requise, nous allons voir ensemble la théorie pour ensuite la mettre en pratique.
A la fin de la formation vous connaitrez :
Les concepts importants : DataFrame, Distribution, Transformations, Actions, Plan d’exécution...
Comment installer et tester nos développement Spark en local.
Manipuler les DataFrame en utilisant les fonctions de base et aussi avancés.
Lire et écrire des fichiers de tout type:..
Utiliser Spark SQL.
Comprendre l'UI Spark.
Utiliser le structured streaming (Spark streaming)
Utiliser Spark sur Databricks
J'intervient moi-même dans des grandes entreprises en tant qu'expert Spark depuis plusieurs années, cela me permet d'être critique sur les bonnes pratiques à avoir et d'enrichir la formation avec mes propres expériences.
PS: Le cours utilise Java comme langage de programmation principal, mais n'ayez aucune inquiétude, tous les concepts abordés dans ce cours sont aussi applicables aux autres langages de programmation: Scala et Python
Vous souhaitez utiliser Kafka ou Nifi ? d'autres de mes formations en Français sont disponibles (code de réduction disponible sur mon site internet) :
Kafka : Apache Kafka pour débutant
Nifi 1.0 : Apache Nifi De A à Z - le Guide complet
Nifi 2.0 : Apache Nifi 2 : de Zéro à Héros
Je me présente et nous allons voir les points clés présent dans cette formation et les différents prérequis.
Présentation général d'Apache Spark et pourquoi utiliser Apache Spark ?
Comprendre Spark plus en détail
Architecture Spark : driver, executors, tasks, ...
L'installation minimum pour notre ide.
Présentation de la base d'un programme spark : la Spark Session
Explication du concept de RDD dans Spark.
RDD en tant qu'abstraction fondamentale pour le traitement de données distribuées.
Caractéristiques principales des RDD : immuabilité, tolérance aux pannes et distribution.
Création de RDD à partir de différentes sources de données : données locales, HDFS, S3, etc.
Utilisation de méthodes comme parallelize, textFile pour charger des données en RDD.
Présentation des opérations de transformation basiques telles que map, filter, flatMap, Distinct
Différenciation entre les actions et les transformations.
Présentation des actions telles que count, collect, take, saveAsTextFile, etc.
Combien de titres différents sont répertoriés ?
Combien d'artistes différents sont répertoriés ?
Citer, si possible, 10 morceaux de musique sortis en 2014.
Quel est l'artiste le plus présent et combien de fois ?
Correction de l'exercice précédent
Utilisation des JavaPairRDD
Comprendre l'importance du partitionnement des RDD dans la répartition des données sur les nœuds du cluster.
Présentation des différentes stratégies de partitionnement.
Explication du concept de Dataset et dataframe dans Spark.
Comparaison entre RDD et Dataset/Dataframes.
Caractéristiques principales des Datasets/Dataframes : typage fort, optimisations.
Présentation des différentes méthodes pour créer des Dataframes: à partir de données structurées, de fichiers CSV, de bases de données, etc.
Création de Dataframes pour les tests unitaires.
Exploration des opérations de transformation et d'action disponibles pour les Dataframes.
Utilisation de méthodes telles que map, filter, groupBy, agg, join, etc.
Ecriture des RDD sous différents format : csv, text, parquet, BDD ...
Utilisation du group by pour les sommes, moyennes, minimun ...
Utilisation des windows partition et fonction rank, row_number, lag
Exercice sur les Dataframes.
Présentation du jeu de donnée
Les réponses de l'exercice ci dessus.
Avantages du typage fort dans la détection précoce des erreurs et l'amélioration de la qualité du code.
Utilisation des fonctions de manipulation de données fortement typées pour éviter les erreurs à l'exécution.
Sécurité des Datasets : prévention des failles de sécurité par le typage fort
Présentation de Spark SQL en tant que module de Spark pour le traitement de données structurées.
Objectif principal : permettre aux utilisateurs d'exécuter des requêtes SQL sur des données distribuées dans Spark.
Présentation de l'interopérabilité entre Spark SQL et les Datasets/DataFrames.
Utilisation de SQL pour interroger et manipuler des Datasets/DataFrames.
Avantages de l'utilisation de Spark SQL pour les traitements structurés.
Présentation des fonctionnalités avancées de Spark SQL.
Support des opérations relationnelles : jointures, groupages, agrégations, etc.
Utilisation de fonctions SQL et de fonctions intégrées pour la manipulation des données.
Utilisation des UDF
Utilisation des fonctions sql dans un Dataframe et présentation de l'exercice dans la section suivante
Comprendre les bases de Spark Streaming et son rôle dans l'écosystème Apache Spark.
Différences entre le traitement par lots (batch processing) et le traitement en continu (stream processing).
Exemple de structured streaming avec des fichiers csv
Utilisation du structured streaming et de spark SQL
Utilisation et explication des checkpoints
Regroupement les données en fonctions de leur temps d'arriver (window)
définir un watermark
gérer les messages en retard
utiliser l'output mode à append
Le but de l'exercice est de lire les données d'un topic Kafka et d'afficher les messages.
Si vous voulez allez plus loin vous pouvez aussi compter le nombre de message par minute en utilisant une agrégation sur le temps.
Présentation général de Apache Kafka
Présentation de la notion de topic et partition
Créer un topic kafka en ligne de commande
Créer un producer en ligne de commande pour publier des messages dans un topic kafka
Correction de l'exercice précèdent : rapide overview de l'installation Kafka et création de notre stream Spark.
Utilisation des broadcasts variables pour optimiser notre plan d'exécution.
Comprendre la différence entre un broadcastJoin et un sortMergeJoin
Utiliser le broadcastJoin
utiliser les accumulators pour optimiser le comptage et éviter le shuffle.
Utiliser et lancer le spark shell
Lancement d'un master et d'un worker
Créer un fat-jar pour le spark-submit
Utiliser le script spark-submit pour lancer des jars Spark sur un cluster
Créer un compte sur databricks
Créer un cluster pour nos futurs notebooks
Lire des données externes depuis Databricks
lire nos propres fichiers csv, json ...
Créer un notebook
Sauvegarder les données dans un workspace
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.