Toutes nos formations sont désormais disponibles en "Live Virtual classes". Contactez-nous pour plus d’informations : formation@oxiane.luToutes nos formations sont désormais disponibles en "Live Virtual classes". Contactez-nous pour plus d’informations : formation@oxiane.lu

Apache Spark

Accueil » Formations » Apache Spark

Apache Spark est un moteur de traitements distribués sur des gros volumes de données.

Souvent mis en opposition au modèle mapreduce implémenté dans Hadoop, il en est en fait une extension qui peut en diviser les temps d’exécution jusqu’à un facteur de 100 en maximisant le travail « in-memory».

Spark exploite les principes de programmation fonctionnelle afin d’optimiser l’empreinte mémoire nécessaire à son exécution. Conçu pour mettre en œuvre des traitements distribués, Spark peut s’appuyer sur plusieurs types de clusters, dont YARN le négociateur de ressources intégré à Hadoop.

1990 € HT 3 jours DB-SPK

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