Référence | F172064 |
Prix par personne en présentiel ou distanciel | 1550 € |
Session ouverte | A partir de 2 personnes |
Intra-entreprise | Nous consulter |
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.
Méthodes et moyens pédagogiques : Formation réalisée en présentiel ou en distanciel (Choix à définir). Exposés, cas pratiques, synthèse. Matériel : 1 poste par stagiaire, vidéoprojecteur, tableau.
Support de cours fourni à chaque stagiaire.
Modalités de suivi et d’évaluation : Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires. Questionnaire d’évaluation de la satisfaction en fin de stage. Feuille de présence émargée par demi-journée par les stagiaires et le formateur. Attestation de fin de formation.
Informations pratiques : Accessibilité , modalités et délais d’accès
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