
Introduction de la formation Apache Spark: Expertise Avancée
Sommaire de la formation Apache Spark: Expertise Avancée
Introduction à la section Architecture Apache Spark
Architecture Apache Spark - Vue d'Ensemble de l'Architecture Apache Spark
Comprendre le Rôle du Driver dans l'architecture Apache Spark
Architecture Apache Spark - Driver & SparkUI
Comprendre le Rôle du Executor dans l'architecture Apache Spark
Architecture Apache Spark - Executors & SparkUI
Comprendre le Rôle du DAG dans l'architecture Apache Spark
Architecture Apache Spark - DAG & SparkUI
Les 5S Apache Spark - Introduction
Les 5S Apache Spark - Les 5 S Spark - Spill, Shuffle, Storage, Serialization, et Skew
Introduction concept Spill
C’est quoi le « Spill » ?
Comprendre comment la mémoire Apache Spark est structurée
Comprendre quelles actions peut provoquer le spill
Introduction de deux use cases pertinents dans ce chapitre
Use case « shuffle.partitions »
Use case « only on the driver »
Introduction Use case « shuffle.partitions »
Comprendre La configuration « spark.sql.shuffle.partitions »
Comprendre l'impact de Taille des Partitions
Introduction aux 10 actions à éviter
Expliquer le détails des 10 actions à éviter
Use case pour sum() vs alternative
Expliquer un code Scala/Spark pour un use case sum()
Expliquer un code Scala/Spark pour un use case Window function
Expliquer un code Scala/Spark pour un use case de Calcul Max partition
Expliquer un code Scala/Spark pour un use case de Calcul Max partition
Expliquer un code Scala/Spark pour un use case de Calcul Max partition
Spill - Use case Calcul Max partition - tom 03
Expliquer un code Scala/Spark pour un use case de Calcul Max partition
Identifier Spill via SparkUI
Le sommaire de la section Shuffle
Fonctionnement du Shuffle et sa définition
Explorer les mécanismes fondamentaux derrière trois types essentiels de jointures dans Apache Spark : le Shuffle Hash Join, le Sort-Merge Join et le Broadcast Hash Join.
Explorer les mécanismes fondamentaux derrière trois types essentiels de jointures dans Apache Spark : le Shuffle Hash Join, le Sort-Merge Join et le Broadcast Hash Join.
Détailler un use case « join() or crossJoin()»
Dans cette partie de notre chapitre, nous allons rapidement explorer deux opérations cruciales dans le traitement des données avec Spark : repartition et coalesce
Identifier Shuffle via SparkUI
Le sommaire de la section Serialization
Fonctionnement et définition du Serialization
Expliquer l'utilisation de Kryo comme Serializer
Expliquer comme utiliser la méthode Persist comme stratégies d'optimisation -
Explorer en détail les options de persist disponibles, leurs avantages et leurs inconvénients pour vous aider à choisir la meilleure stratégie pour votre application Spark.
Identifier la serialization au niveau du SparkUI
Le sommaire de la section Serialization
Détailler le fonctionnement du Storage
Comparatif entre quatre formats de fichiers clés : Parquet, ORC, Avro, et Delta Lake
Détailler la structure du fichier Apache Parquet
Présenter un comparatif des options de compression disponibles dans Apache Parquet, notamment Snappy, GZIP et LZ4, pour vous aider à faire le choix optimal en fonction de vos besoins.
Ce chapitre présente quelques options d’optimisation que vous pouvez activer
Pour approfondir notre exploration de Apache Spark et démontrer son application pratique, cette section de notre cours, dédiée aux Use Cases, s'avère cruciale.
Dans ce chapitre, je vais vous guider à travers quelques étapes pour préparer votre workspace.
Continuité des étapes pour préparer votre workspace.
Dans ce chapitre, nous allons franchir une étape cruciale : l'installation et la configuration d'Apache Spark sur votre machine.
Alors que nous progressons dans la configuration de notre environnement pour Apache Spark, un pas essentiel consiste à familiariser notre système d'exploitation avec les outils que nous allons utiliser.
Comment tester votre installation Apache Spark sur Windows
Dans ce chapitre nous allons nous pencher sur un use case spécifique que vous pouvez rencontrer dans le monde du travail : l'Analyse des Commandes Clients.
Je vous détaille la structure que nous allons adopté pour répondre à notre use case
Dans ce chapitre nous présentons comment réaliser une lecture avec Spark des données parquet d’une manière optimisée dans le cadre de notre use case.
Dans ce chapitre nous expliquons comment réaliser la lecture des données parquet avec les options d’optimisations au niveau du code
Expliquer la notion « Extends » d’un « trait »
Dans les sections précédentes, nous avons introduit le concept de l'évaluation « lazy » dans Spark. Dans ce chapitre, nous allons nous concentrer sur les avantages de lazy initialisation.
Dans ce Chapitre nous allons diriger notre attention vers les subtilités et les puissances des « Paramètres Implicites », un élément clé de la programmation Scala.
Nous avons vu dans le chapitre précèdent comment lire les sources de données « clients » et « orders » d’une manière optimisée, dans ce chapitre nous traitons la deuxième feature de notre use case.
Dans ce chapitre nous allons parcourir ensemble le code qui nous permet de réaliser la jointure entre les deux dataframe « clients » et « orders » avec Spark.
Dans le chapitre précèdent nous avons expliqué la manière avec laquelle nous pouvons utiliser SparkSQL ainsi que la notion Spark SQL Command-line interface, en implémentant des requêtes SQL.
Dans les chapitres précédents nous avons expliqué en détails une implémentation SparkSQL Command line interface,
Dans ce chapitre nous explorons quelques avantages et informations à propos des vues temporaires en utilisant SparkSQL.
Dans le chapitre précédent, nous avons exploré comment réaliser des jointures optimisées entre les tables « clients » et « orders ». Maintenant, nous allons nous concentrer sur le troisième point de notre processus : les Transformations et Filtres.
Dans ce chapitre nous expliquons comment réaliser une agrégation afin de calculer la somme du montant des commandes.
Dans le chapitre précèdent nous avons expliqué comment effectuer une agrégation en utilisant SparkSQL.
Dans ce chapitre nous mettons en lumière la solution du filtre des données, pour ce faire regardons le code.
Dans les chapitres precedents nous avons exploré la lecture des sources de données « clients » et « orders » via Spark, les jointures des dataframe en utilisant SparkSQL passant par les transformations et filtres via SparkSQL Command line interface.
Dans ce dernier chapitre de notre use case nous clôturant avec l’écriture du dataframe avec Spark.
Dans ce chapitre nous expliquons pas à pas le code de l’écriture des données via Spark.
Nous arrivons maintenant à une section essentielle de notre formation : le tuning de performance de Spark. Cette partie est cruciale pour ceux qui souhaitent optimiser leurs applications Spark et tirer le meilleur parti de leurs ressources disponibles.
Dans ce chapitre Concentrons-nous sur quelques paramètres essentiels de spark-submit.
Dans la continuité du chapitre précèdent nous abordons dans ce chapitre quelques paramètres de la configuration de Spark-Submit
Dans ce chapitre nous présentant un exemple de configuration de spark-submit
Nous allons également fournir une brève définition de chaque paramètre
Pour mieux illustrer l'importance de la configuration et de l'optimisation des ressources dans Spark, nous allons examiner dans ce chapitre un scénario hypothétique et définir nos objectifs pour ce cas d'utilisation.
Dans ce chapitre je présente les étapes à suivre afin de concevoir une configuration pour maximiser l'utilisation des ressources disponibles
Embarquez pour une exploration approfondie et transformatrice dans le monde d'Apache Spark. Ce voyage de formation commence par les bases et vous conduit à travers une série d'étapes clairement définies jusqu'à atteindre une expertise avancée, le tout en vous immergeant dans des cas d'usage concrets utilisant Scala.
Découvrez l'architecture fondamentale de Spark, comprenez le rôle crucial du DAG (Directed Acyclic Graph), et explorez le SparkUI pour une visualisation et un débogage efficaces de vos traitements de données.
Ce cours vous plonge au cœur des cinq piliers essentiels de Spark :
Spill
Shuffle
Storage
Serialization
Skew
vous équipant des connaissances pour maîtriser les optimisations et surmonter les défis d'analyse de données à grande échelle.
Vous apprendrez non seulement à identifier et à réduire le Spill, mais aussi à optimiser le Shuffle pour des performances améliorées, à gérer efficacement le Storage pour un accès rapide aux données, à choisir les meilleures stratégies de Serialization pour vos besoins, et à équilibrer les charges de travail pour éviter le Skew.
Chaque module du cours est conçu pour renforcer votre compréhension théorique avec des applications pratiques, vous permettant d'appliquer directement ce que vous avez appris dans des scénarios réels.
Que vous soyez un développeur cherchant à élargir vos compétences en traitement de données, un analyste désireux de plonger dans le big data, ou un passionné de technologies de l'information explorant le monde de l'analyse de données, ce cours vous fournira les outils et les compétences nécessaires pour exploiter la puissance de Spark et Scala.
Préparez-vous à transformer des ensembles de données volumineux en insights précieux, à accélérer vos traitements de données, et à propulser votre carrière dans le domaine de l'analyse de données à un niveau supérieur avec notre cours complet sur Apache Spark.