We may earn an affiliate commission when you visit our partners.
Course image
Maxime Gillot

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 :

Read more

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

Enroll now

What's inside

Syllabus

Introduction

Je me présente et nous allons voir les points clés présent dans cette formation et les différents prérequis.

Introduction à Spark
Read more

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

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Introduces core concepts like DataFrames, transformations, and actions, which are fundamental for understanding Spark's data processing capabilities
Covers Spark SQL, enabling learners to execute SQL queries on distributed data, a crucial skill for data analysis and reporting
Explores structured streaming, allowing learners to process real-time data, which is essential for building responsive data pipelines
Uses Java as the primary language, but the concepts are applicable to Scala and Python, offering flexibility for learners with different programming backgrounds
Includes a section on using Spark on Databricks, a popular cloud-based platform for big data processing and analytics
Requires learners to install Kafka and Zookeeper, which may require additional setup and configuration beyond basic software installation

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Spark 3+ pour débutants en français

Selon les apprenants, ce cours constitue une excellente introduction à Apache Spark 3+, particulièrement appréciée pour être dispensée entièrement en français. Les étudiants soulignent la clarté des explications de l'instructeur et la manière dont il aborde les concepts fondamentaux du big data avec Spark. Les sections sur les DataFrames et les applications pratiques (comme Spark UI, Spark-submit et Databricks) sont souvent citées comme particulièrement utiles. Bien que le cours utilise principalement Java, la plupart des apprenants trouvent les concepts facilement applicables aux autres langages. Quelques points à noter incluent le besoin occasionnel de mise à jour sur certains aspects techniques ou l'envie d'une exploration plus poussée de sujets avancés.
Utilise principalement Java.
"Le cours est axé sur Java, ce qui correspond à mon besoin professionnel."
"J'aurais préféré Python, mais les concepts sont bien expliqués et transposables."
"Même si je code en Scala, j'ai pu suivre sans problème grâce aux explications clétaires."
"L'utilisation de Java est un choix, mais l'adaptation aux autres langages est possible avec un peu d'effort."
Solide introduction, mais exploration limitée.
"Ce cours donne une excellente base, mais pour l'optimisation avancée, il faudra chercher ailleurs."
"Bon aperçu du structured streaming, mais j'aurais aimé voir plus d'exemples complexes."
"Une fois les bases acquises, on sent qu'il y a matière à approfondir certains sujets techniques."
"Idéal pour commencer, mais pas suffisant pour devenir un expert Spark opérationnel."
Couvre Spark UI, Spark-submit, Databricks.
"La partie sur Spark UI est très utile pour comprendre ce qui se passe."
"J'ai apprécié les modules sur Spark-submit et l'utilisation de Databricks pour l'application réelle."
"Voir comment lancer une application Spark sur un cluster local était très instructif."
"Les démos sur Databricks donnent un bon aperçu de l'environnement cloud."
Bien adapté pour une première approche.
"Comme son nom l'indique, ce cours est parfait pour démarrer avec Spark."
"Je partais de zéro et j'ai pu acquérir les bases solides nécessaires."
"Très bonne introduction aux concepts de base du big data avec Spark."
"Les premières sections sont idéales pour comprendre pourquoi et comment utiliser Spark."
Explications claires des concepts de base.
"L'instructeur explique très bien les concepts, c'est facile à suivre pour un débutant."
"Les explications sont claires et concises, rendant les notions de Spark abordables."
"Bonne pédagogie, j'ai bien compris les différences entre RDD et DataFrames."
"J'ai trouvé les explications sur l'architecture Spark particulièrement limpides."
Un atout majeur pour les francophones.
"C'est super d'avoir un cours Spark complet et de cette qualité en français."
"Le fait que le cours soit en français est un énorme plus pour moi."
"Enfin un cours de big data sur Spark accessible dans ma langue maternelle."
"Apprécié la disponibilité du cours en français pour faciliter l'apprentissage."
Quelques éléments pourraient être actualisés.
"Certaines étapes d'installation ou versions de bibliothèques pourraient nécessiter une petite mise à jour..."
"Quelques parties du cours, bien que solides, pourraient bénéficier d'une actualisation mineure..."
"J'ai dû chercher un peu sur internet pour adapter le code à une version plus récente de Spark/Java..."
"Le contenu de base est excellent, mais une révision périodique serait un plus."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Apache Spark 3+ pour les débutants: la base du big data ! with these activities:
Réviser les bases de Java
Renforcer les connaissances de base en Java pour mieux comprendre les exemples de code Spark utilisés dans le cours.
Browse courses on Java
Show steps
  • Revoir les tutoriels Java en ligne.
  • Effectuer des exercices de programmation Java de base.
  • Lire la documentation Java.
Lire 'Learning Spark'
Obtenir une introduction claire et concise à Spark avec des exemples pratiques.
Show steps
  • Lire les chapitres pertinents du livre.
  • Essayer les exemples de code du livre.
  • Comparer les approches du livre avec celles du cours.
Lire 'Spark: The Definitive Guide'
Approfondir la compréhension de Spark avec un guide complet et détaillé.
Show steps
  • Lire les chapitres pertinents du livre.
  • Essayer les exemples de code du livre.
  • Réfléchir à la façon dont les concepts du livre s'appliquent aux exercices du cours.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Pratiquer les requêtes Spark SQL
Renforcer les compétences en Spark SQL en effectuant des exercices pratiques.
Show steps
  • Télécharger des ensembles de données d'exemple.
  • Écrire des requêtes SQL pour analyser les données.
  • Comparer les résultats avec les résultats attendus.
Compiler un guide de référence Spark SQL
Créer un guide de référence personnalisé pour Spark SQL afin de consolider les connaissances et faciliter la consultation future.
Show steps
  • Rassembler les notes de cours et la documentation Spark SQL.
  • Organiser les informations par catégorie (fonctions, syntaxe, etc.).
  • Ajouter des exemples de code et des explications claires.
  • Créer un index pour faciliter la recherche.
Créer un blog sur Spark Streaming
Solidifier la compréhension de Spark Streaming en expliquant les concepts clés dans un article de blog.
Show steps
  • Choisir un sujet spécifique lié à Spark Streaming.
  • Rechercher des informations sur le sujet.
  • Écrire un article de blog clair et concis.
  • Publier l'article de blog.
Développer une application de traitement de données avec Spark
Mettre en pratique les connaissances acquises en développant une application concrète avec Spark.
Show steps
  • Définir les exigences de l'application.
  • Concevoir l'architecture de l'application.
  • Implémenter l'application avec Spark.
  • Tester et déployer l'application.

Career center

Learners who complete Apache Spark 3+ pour les débutants: la base du big data ! will develop knowledge and skills that may be useful to these careers:
Ingénieur de données
Un ingénieur de données conçoit, construit, et gère l'infrastructure et les outils qui permettent aux organisations de collecter, traiter et analyser de grandes quantités de données. Ce cours sur Apache Spark 3+ prépare idéalement à ce rôle en fournissant une compréhension approfondie des concepts clés tels que les DataFrames, la distribution des données, les transformations et les actions. L'apprentissage de l'installation et du test des développements Spark en local, ainsi que la manipulation des DataFrames avec des fonctions de base et avancées, sont des compétences cruciales pour un ingénieur de données. De plus, la capacité à lire et écrire des fichiers de tout type et à utiliser Spark SQL rend ce cours particulièrement pertinent. Les exercices pratiques et les exemples concrets proposés dans ce cours aident à maîtriser les aspects techniques essentiels pour exceller en tant qu'ingénieur de données.
Développeur Big Data
Un développeur Big Data crée des applications qui traitent et analysent de gros volumes de données. Ce cours sur Apache Spark 3+ est directement pertinent pour ce rôle, car il enseigne les compétences nécessaires pour travailler avec des données à grande échelle. La formation couvre les concepts fondamentaux de Spark, tels que les RDD, les DataFrames et Spark SQL, qui sont essentiels pour le développement d'applications Big Data. De plus, le cours enseigne comment utiliser Spark Streaming pour traiter des données en temps réel. La capacité à optimiser les performances des applications Spark et à déployer des applications sur un cluster Spark est également cruciale pour un développeur Big Data. Les exercices pratiques et les exemples concrets fournis dans le cours aident à développer les compétences nécessaires pour réussir en tant que développeur Big Data.
Analyste de données
L'analyste de données examine les données pour en extraire des informations utiles et aider à la prise de décision. Ce cours sur Apache Spark 3+ peut s'avérer très utile car il permet de travailler avec des ensembles de données volumineux et d'effectuer des analyses complexes. La formation couvre les concepts fondamentaux de Spark, y compris les DataFrames, les transformations et les actions, ce qui est essentiel pour manipuler et nettoyer les données. De plus, l'apprentissage de Spark SQL offre la possibilité d'interroger et d'analyser les données à l'aide de requêtes SQL, une compétence précieuse pour un analyste de données. La capacité à utiliser le structured streaming (Spark streaming) permet également de traiter des données en temps réel, ce qui est de plus en plus important dans le domaine de l'analyse de données. Les exercices pratiques et les exemples concrets fournis dans le cours aident à développer les compétences nécessaires pour réussir en tant qu'analyste de données.
Scientifique des données
Le scientifique des données utilise des techniques statistiques et d'apprentissage automatique pour analyser les données et résoudre des problèmes complexes. Ce cours sur Apache Spark 3+ est particulièrement pertinent pour ceux qui souhaitent travailler avec de grands ensembles de données. La formation aborde les concepts fondamentaux de Spark, tels que les RDD, les DataFrames et Spark SQL, qui sont essentiels pour la manipulation et l'analyse des données. De plus, le cours enseigne comment utiliser Spark sur Databricks, une plateforme populaire pour la science des données. La capacité à comprendre l'UI Spark et à optimiser les performances des applications Spark est également cruciale pour un scientifique des données. L'acquisition de compétences en Spark Streaming permet également de traiter et d'analyser en continu des données, ce qui est de plus en plus important dans le domaine de la science des données.
Architecte de données
L'architecte de données conçoit et supervise la mise en place de systèmes de gestion de données complexes. La connaissance approfondie d'Apache Spark 3+ acquise dans ce cours peut grandement aider dans ce rôle. La formation couvre les concepts clés tels que les DataFrames, la distribution des données et l'optimisation des performances, qui sont essentiels pour concevoir des systèmes de traitement de données efficaces. De plus, la capacité à utiliser Spark SQL et Spark Streaming permet de concevoir des solutions pour le traitement de données structurées et en temps réel. La capacité à utiliser Spark sur Databricks est également précieuse, car elle permet de concevoir des solutions basées sur le cloud. Ce cours peut aider à comprendre les bonnes pratiques et les considérations importantes pour la conception d'architectures de données robustes et évolutives.
Formateur Technique
Un formateur technique enseigne à d'autres personnes comment utiliser des logiciels et des technologies. Ce cours sur Apache Spark 3+ peut être utile pour un formateur technique qui souhaite élargir ses compétences et proposer des formations sur le Big Data. La formation couvre les concepts fondamentaux de Spark, tels que les DataFrames, Spark SQL et Spark Streaming, ce qui permet au formateur de maîtriser les aspects techniques essentiels pour enseigner Spark à d'autres personnes.
Spécialiste Cloud Computing
Un spécialiste du cloud computing gère et optimise les infrastructures cloud, souvent utilisées pour le traitement et le stockage de données à grande échelle. Ce cours sur Apache Spark 3+ souligne l'utilisation de Spark sur Databricks, un environnement cloud populaire pour l'analyse de données. Ce cours aide à développer une expertise dans le déploiement et la gestion d'applications Spark dans le cloud. Spark est souvent utilisé pour traiter des données dans des environnements cloud, la compréhension approfondie des RDD et de l'optimisation, peut s'avérer particulièrement bénéfique pour un spécialiste du cloud computing.
Analyste de l'Intelligence d'Affaires
Un analyste de l'intelligence d'affaires (BI) utilise les données pour aider les entreprises à prendre des décisions éclairées. Ce cours sur Apache Spark 3+ peut s'avérer pertinent pour un analyste BI qui travaille avec de grands ensembles de données. La formation couvre les concepts fondamentaux de Spark, tels que DataFrames et Spark SQL, qui sont essentiels pour l'extraction, la transformation et le chargement (ETL) des données. L'analyste BI devra peut être capable de gérer des données en temps réel. Une bonne compréhension des bases de Spark permet à l'analyste de mieux utiliser ces outils.
Ingénieur en Apprentissage Machine
Un ingénieur en apprentissage machine conçoit, développe et déploie des modèles d'apprentissage automatique. Ce cours sur Apache Spark 3+ peut être utile pour un ingénieur en apprentissage machine qui travaille avec de grands ensembles de données. Le cours traite des concepts et des outils d'Apache Spark, notamment des DataFrames, de la distribution et Spark SQL. Le cours peut être utile pour mettre à l'échelle les modèles d'apprentissage automatique et les déployer dans un environnement de production.
Consultant en Big Data
Ce cours sur Apache Spark 3+ peut être utile pour un Consultant en Big Data, un rôle qui conseille les entreprises sur la meilleure façon d'utiliser les technologies de Big Data pour atteindre leurs objectifs commerciaux. Une compréhension d'Apache Spark 3+ est utile pour recommander des solutions appropriées. Le cours traite des concepts fondamentaux comme les DataFrames, la distribution des données et Spark SQL, qui sont directement applicables aux défis rencontrés par les entreprises souhaitant tirer parti du Big Data.
Administrateur de Base de Données
Un administrateur de base de données (DBA) gère et maintient les bases de données. Apache Spark 3+ est un outil performant, notamment, pour interagir avec les bases de données. Ce cours peut donc être utile pour un DBA qui souhaite étendre ses compétences. La formation couvre l'utilisation de Spark SQL pour interroger les bases de données et l'écriture des RDD sous différents formats (CSV, TXT, Parquet, BDD). La connaissance de ces fonctionnalités peut améliorer la capacité d'un DBA à gérer les données complexes.
Développeur de logiciels
Un développeur de logiciels crée et maintient des applications logicielles. Bien que ce cours soit axé sur Apache Spark, une connaissance du traitement des données peut être un atout précieux pour un développeur de logiciels, en particulier ceux qui travaillent sur des applications nécessitant une analyse de données à grande échelle. Le cours peut aider à comprendre les concepts de base du traitement des données distribuées et à intégrer Spark dans des applications existantes.
Testeur de logiciels
Un testeur de logiciels est responsable de la qualité des logiciels. Bien que ce cours se concentre sur Apache Spark, il peut néanmoins être utile pour un testeur de logiciels qui travaille sur des applications Big Data. En comprenant les concepts et les composants de Spark, un testeur peut mieux concevoir des tests efficaces et identifier les problèmes potentiels liés au traitement des données.
Chef de Projet Technique
Un chef de projet technique supervise des projets de développement de logiciels. Une connaissance de base des technologies Big Data, telles qu'Apache Spark, peut être utile pour un chef de projet technique qui gère des projets liés au Big Data. Bien que ce cours ne couvre pas directement la gestion de projet, il peut aider à comprendre les aspects techniques des projets Big Data et à mieux communiquer avec les membres de l'équipe.
Responsable de la Sécurité de l'Information
Un responsable de la sécurité de l'information est chargé de protéger les données et les systèmes d'une organisation contre les menaces de sécurité. Bien que ce cours se concentre sur Apache Spark et le traitement des données, il peut être utile pour un responsable de la sécurité de l'information qui travaille avec des données sensibles. La compréhension des concepts de base de Spark peut aider à identifier les risques de sécurité potentiels liés au traitement des données et à mettre en œuvre des mesures de sécurité appropriées.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Apache Spark 3+ pour les débutants: la base du big data !.
Ce livre est une référence complète sur Apache Spark. Il couvre tous les aspects de Spark, des bases aux fonctionnalités avancées. Il est particulièrement utile pour approfondir les concepts présentés dans le cours et pour avoir un guide de référence pratique. Ce livre est couramment utilisé comme manuel dans les établissements universitaires et par les professionnels de l'industrie.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

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.

Affiliate disclosure

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.

© 2016 - 2025 OpenCourser