Ref: DS 07
Pré requis
- Bonnes connaissances en développement logiciel. Une compréhension des problèmes liés au Big Data est un plus.
Public
- Concepteurs, développeurs, architectes.
Objectifs
- Comprendre les fondamentaux du développement d’applications Big Data en temps réel
- Evaluer les outils Spark et Storm
- Appliquer les systèmes de calcul distribué temps réel de Storm et de Spark
- Traiter des grosses quantités de données en temps réel
Durée
- 2 jours
Moyens pédagogiques
- Alternance d’exposés et d’applications pratiques.
- Les moyens pédagogiques et les méthodes d’enseignement utilisés sont principalement : aides audiovisuelles, documentation et support de cours, exercices pratiques d’application et corrigés des exercices pour les stages pratiques, études de cas ou présentation de cas réels pour les séminaires de formation.
Programme
Introduction à l'architecture temps réel
- Traitements temps réel.
- Les architectures LAMDA.
- Les architectures KAPPA.
- Les architectures SMACK.
Application
Etude de l’implémentation d’une architecture KAPPA pour Spark et Strom.
L'architecture Kafka
- L’aperçu de Kafka Producers, Brokers, Consumers.
- Les fichiers journaux de Kafka.
- Les schémas Avro. Utilisation de ZooKeeper.
Application
Étude de la configuration de Kafka dans l’architecture KAPPA.
Le traitement des messages Storm
- Définition de l’environnement de développement.
- Création de projets basés sur Storm.
- Définition des composants Storm (Spout et Bolt).
- Définition des flux Storm.
- Modèle de données (clé, valeur).
- Rôles des Nimbus et ZooKeeper.
Exercice
Étude de l’implémentation de l’architecture KAPPA pour Storm.
Le traitement des messages Storm
- Programmation de services avec Clojure, Java, Python.
- Cycle de vie d’un message.
- L’API Storm pour la définition de la fiabilité.
- Stratégie de mise en place de la fiabilité pour une application utilisant le Big Data.
Application
Mise en œuvre d’un projet de traitement des réseaux sociaux en temps
L'architecture d'Apache Spark
- Les différentes versions de Spark (Scala, Python, R et Java).
- Comparaison avec l’environnement Storm.
- Les différents modules de Spark.
- Les différents types d’architecture : Standalone, Apache Mesos ou Hadoop YARN.
Application
Etude de l’implémentation de l’architecture SMACK pour Spark.
Le temps réel avec Spark Streaming
- Présentation des RDD.
- Créer, manipuler et réutiliser des RDD.
- Accumulateurs et variables broadcastées.
- Principe de fonctionnement.
- Les différents types de sources.
- Comparaison avec Apache Storm.
Application
Mise en œuvre d’un projet de traitement des réseaux sociaux en temps réel.
Les autres acteurs du marché
- L’architecture d’Apache Apex.
- Comparaison entre Samza et Storm.
- Comparaison entre Apex et Flink.
- L’intégration Spark Streaming à l’aide de Talend.
Application
- Mise en œuvre d’un projet de traitement des réseaux sociaux en temps réel.