Data

Formation Développer, déployer et optimiser une application avec Spark

Programme de la formation

Cette formation part du constat qu’une fois que l’on connaît les bases de Spark, il devient difficile de trouver des ressources qui permettent de pleinement maîtriser ce framework. Son contenu est donc basé sur les difficultés et problèmes qu’ont dû résoudre nos consultants lors de leurs différentes missions, et sera donc composé de nombreux retours d’expérience.

Jour 1 :

Les bases

map reduce – partitionnement des données (lazy eager) – exécution des opérations en parallèle (task, stage, job) – Spark UI

Testing

tester des dataframe – accélérer les tests (shared spark session) User Defined Function

udf – udaf – task not serializable – window function

La mémoire

le cache – l’utilisation de la mémoire dans spark – les erreurs de mémoire : OOM, GC overhead

Catalyst

les différents plans – fonctionnement

Jour 2 :

Shuffle et Join

les différents types de shuffle – gérer les shuffles et le partitionnement – broadcast join

PySpark

particularités – utiliser des udf scala en python – distribuer son traitement scikit-learn

Logging

logger dans des udf – spark metrics – spark aggregator

Méthodes pédagogiques

Chaque chapitre est accompagné d’exercice en Scala ou en Python mettant en œuvre les différents concepts développés.

Durée

2 jours soit 14 heures

Tarif HT

inter : 1 800 €

intra : Selon demande

Prochaines dates

29 - June 30

29 - October 30

10 - December 11

Inscription

Public visé

Cette formation est à destination des développeurs qui utilisent déjà Spark et qui souhaiteraient approfondir et optimiser son fonctionnement.

Prérequis

Avoir déjà regardé la documentation de Spark en Scala et en Python. Savoir faire des jointures, select, where sur des DataFrame. Savoir écrire un word count en Spark en Scala et en Python.

Objectifs de la formation

A l’issue de la formation, les participants sauront :

  • Expliquer le fonctionnement de Spark (shuffle, mémoire, …)
  • Tester des DataFrame et faire des tests performants
  • Utiliser efficacement des UDF
  • Expliquer et résoudre des erreurs courantes
  • Expliquer le fonctionnement de catalyst et de PySpark
  • Optimiser des jobs Spark
  • Faire du logging et du monitoring

Validation

À la fin de cette formation, les stagiaires recevront une attestation de présence.

Formateurs

Romain Sagean

Romain Sagean

Romain Sagean est Data engineer, Il développe des applications en spark depuis sa version 0.9 et a suivi l'évolution de cet outil. Ces principaux centre d'intérêt sont l’UX, le software Craftsmanship et tout l'écosystème Big Data. Romain anime plusieurs formations chez Xebia Training autour du domaine de la data. Il a également été speaker lors du Mois de la Data.

Alban Phelip

Alban Phelip

Alban est Data Engineer chez Xebia. Issu d’une formation en statistiques il s’est spécialisé dans l’ingéniérie des données. Ses outils préférés : Spark et R. Speaker et bloggeur il se passionne par tout ce qui touche de près ou de loin au Big Data et à la Data Science.