Big data en pratique avec Spark

Tout le monde semble être actif avec "big data" et Data Science 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 traditionnel, à cause du 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) 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).

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 Scala, Python, Java 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, et l'utiliser pour interroger ses données. On sera aussi capable d'écrire des programmes simples en Scala et en SparkSQL, et qui utilisent 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é? Veuillez contacter ABIS.

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 et ses composants
  • 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, ou une base de données relationnelle
  • Interfaces
  • Travailler avec une des interfaces de programmation, et avec l'interface web (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.


INFO SESSION ET INSCRIPTION