12 Rue de l’Europe

31850 Montrabé

05 34 48 92 23

Développement d’applications avec Haddop

Public concerné : Développeurs, architectes.

Objectifs : Au terme de cette formation, vous saurez comment exploiter Hadoop pour collecter, stocker et traiter des données de formats hétérogènes.
Vous saurez écrire et exécuter des requêtes fonctionnant à la fois sur une station de travail et sur un cluster distribué. Vous connaîtrez les bonnes pratiques de conception d’applications orientées données  et saurez comment mettre en place des chaînes de traitement robustes, intégrée au SI de l’entreprise.

Durée : 3 jours

Pré-requis : Connaissances en programmation Java et d’un langage de script (Python) et expérience du shell et développement sous Linux.

Moyens pédagogiques :
 Support de cours fourni à chaque stagiaire.

Contenu de formation

Les technologies Big Data :

  • Stockage et traitement de données massives: problèmes et solutions
  • Panorama des technologies NoSQL, bases de données distribuées ou en colonnes
  • Les différents patterns de programmation Big Data
  • Applications batch ou temps réel ?
  • Revue des outils : API Java, Hive, Pig, Sqoop, Impala, Druid, Storm, Cassandra, Cascalog

Les fondamentaux d’une application Big Data sous Hadoop :

  • Le système de fichiers distribués
  • Le pattern de programmation MapReduce: notions de base
  • Outils et couches d’abstraction: Hive, Pig, Hadoop Streaming
  • TP : connection à un entrepôt de données
  • TP : chargement sur HDFS et premières analyses sous Pig/Hive

Programmation en Map/Reduce :

  • Notions avancées: mappers, combiners, reducers
  • L’interface Java native
  • L’entrée/sortie sur HDFS : les différents formats de fichiers, sérialisation et désérialisation
  • Comment interfacer d’autres langages (R, Python, C++) à Hadoop via l’API Streaming
  • TP: conception et exécution d’un job MapReduce pour l’analyse de texte (traitement de logs)

Algorithmes Map/Reduce : notions avancées

  • Savoir identifier les algorithmes compatibles
  • Jointures et tris sous MapReduce
  • Indexation et traitement de texte
  • Apprentissage machine avec le projet Apache Mahout

Autres patterns de programmation distribuée :

  • L’approche Bulk Synchronous Parallel et le calcul sur graphes avec Giraph
  • Traitement de flux continus et RPC avec Storm

Collecte et ingestion de données :

  • Extraction de données relationnelles avec Sqoop
  • Collecte de flux avec Flume, Kafka, Chukwa

Réduire la latence: traitement de données sous HBase 

  • Avantages d’un stockage en colonnes
  • Applications visées
  • Intégration à Map/Reduce

Gestion de workflow :

  • Chaînage de jobs Map/Reduce
  • Oozie et Cascading, outils de gestion de workflow
Top