Big data en pratique avec Spark

Tout le monde semble être actif avec AI, Data Science et "big data" aujourd'hui. Vous voulez sans doute aussi interroger vos sources volumineuses de données (click streams, social media, données relationnelles, données dans le "cloud", données capteurs, ...) et vous rencontrez des limitations avec les data-tools classiques. Dans ce cas, vous avez peut-être besoin de la puissance d'un cluster --et ses capacités de traitement en parallèle-- pour interroger vos dépôts de données distribuées.

Dans le cas où "fast prototyping" et la vitesse de traitement sont prioritaires, vous tombez sûrement sur Spark. Apache Spark est une plate-forme open source qui se concentre surtout sur la vitesse, la facilité d'utilisation, la flexibilité et les algorithmes analytiques. Spark est une alternative pour l'approche MapReduce de Hadoop avec Hive (cf notre cours Big data en pratique avec Hadoop). Spark a complimenté, même remplacé Hadoop, à cause d'un plus haut niveau d'abstraction des API de Spark et sa possibilité de traitement au mémoire qui accélère les procès.

spark-logo.png

Plus spécifiquement, Spark nous laisse interroger facilement les sources de données sur HDFS, dans une base de données NoSQL (p.ex. Cassandra ou HBase), dans une base de données relationelle, dans le "cloud" (p.ex. AWS S3) ou dans des fichiers locals. A part de ceci, une activité Spark peut facilement être lancée sur soit la machine locale (donc en mode de développement), soit sur un cluster Hadoop (avec Yarn), soit sur une environnement Mesos, ou Kubernetes, ou dans le cloud. Et tout ça à travers un petit script Spark ou bien une programme (Java ou Python) un peu plus complexe, ou bien à travers une interface web (p.ex. Zeppelin ou Databricks).

Ce cours se fonde sur les sujets traités dans L'architecture et l'infrastructure Big Data. On se mettra au travail sur Linux avec Spark et ses bibliothèques. Vous apprenez comment implémenter une analyse robuste des données (en utilisant Python, Scala, ou R) avec un interface de style SQL.

À la fin de ce cours, le participant aura acquis suffisamment d'expertise de base pour configurer un environnement de développement Spark ou Databricks, et l'utiliser pour interroger vos données. On sera aussi capable d'écrire des programmes simples sur Spark (en utilisant soit PySpark qui utilise Python, ou bien en utilisant Scala avec Spark-shell), basées sur des Data Frames et des RDD, optionnellement utilisant les bibliothèques MLlib, GraphX et Streaming.

Calendrier

Il n'y a pas de sessions publiques à ce moment. Nous organisons volontiers un cours en entreprise ou une session publique supplémentaire (en cas d'un nombre suffisant de participants). Intéressé? Contactez-nous.

Participants

Ce cours concerne toute personne qui veut commencer à utiliser Spark: développeurs, architectes de données, et tous ceux qui devront travailler avec la technologie data science.

Connaissances préalables

Être familier avec les concepts des data clusters et le traitement distribué des données; voir notre cours L'architecture et l'infrastructure Big Data. Additionnellement, la connaissance minimale d'SQL et de Unix/Linux est un avantage. En tout cas, une expérience minimale d'une langue de programmation (p.ex. Java, Python, Scala, Perl, JavaScript, PHP, C++, C#, ...) est nécessaire.

Contenu

  • Motivation pour Spark & concepts de base
  • Le projet Apache Spark et ses composants
  • Spark et Databricks
  • Apprendre l'architecture de Spark et son modèle de programmation
  • Les principes de l'analyse de données
  • Sources de données
  • Interroger des données qui se trouvent sur Hadoop HDFS, Cassandra, AWS S3, ou une base de données relationnelle
  • Interfaces
  • Travailler avec une des interfaces de programmation (plus spécifiquement: avec Spark-shell et avec PySpark)
  • Écrire et déboguer des programmes qui résoudent des problèmes simples d'analyse de données
  • Data Frame et RDD
  • Introduction brève aux bibliothèques Spark
  • SparkSQL
  • Machine Learning (MLlib)
  • Streaming (c.à.d., procéder des données "volatiles")
  • Computations en parallèle dans des arborescences et des graphes (GraphX)

Pédagogie

Enseignement classique agrémenté d'exemples pratiques, et assez de temps prévu pour pratiquer avec plusieurs exercices

Durée

2 jours.

Formateur

Peter Vanroose.

Aussi intéressant

Participants de ce cours ont aussi suivi les formations suivantes:


INFO SESSION ET INSCRIPTION