Table des matières
- Introduction
- 1. Introduction
- 2. Buts et objectifs de l’ouvrage
- 3. À qui s’adresse cet ouvrage ?
- 4. Comment lire cet ouvrage ?
- 5. Ce que ce livre n’est pas
- 6. Précisions de l’auteur
- 7. Remerciements
- 8. Dédicace
- Contexte de création d’Hadoop
- 1. Introduction
- 2. Contexte d’Hadoop
- 3. Approche conceptuelle d’Hadoop
- 4. Qui utilise Hadoop ?
- 4.1 Effervescence des projets impliquant l’utilisation d’Hadoop en Europe
- 4.2 Cas d’utilisation d’Hadoop
- 5. Conclusion
- Architecture infrastructurelle d’Hadoop
- 1. Introduction
- 2. Types d’architectures distribuées
- 2.1 Architectures délocalisées ou client/serveur
- 2.1.1 Architecture client/serveur à deux niveaux (two-tiers)
- 2.1.2 Architecture client/serveur à trois niveaux (three-tiers)
- 2.2 Architectures distribuées
- 2.2.1 Cluster computing ou grappe de calcul
- 2.2.2 Grid computing ou grille de calcul
- 2.3 Caractéristiques du cluster computing
- 2.3.1 Scalabilité horizontale : le facteur clé d’adoption du cluster
- 2.3.2 Tolérance aux pannes
- 2.3.3 Haute disponibilité
- 2.3.4 Mesure de la disponibilité d’un système
- 2.1 Architectures délocalisées ou client/serveur
- 3. Modes de partage des ressources dans le cluster
- 3.1 Shared-nothing
- 3.2 Shared-memory
- 3.3 Shared-disk
- 4. Modes de communication des nœuds dans le cluster
- 4.1 Modèle maître/esclave
- 4.2 Modèle peer-to-peer
- 5. Modes de traitement de données dans le cluster
- 5.1 Traitement sur disque ou batch processing
- 5.2 Traitement en mémoire ou in-memory processing
- 6. Types de parallélismes des calculs dans un cluster
- 6.1 Parallélisme asynchrone simultané
- 6.2 Parallélisme pipeline
- 6.3 Parallélisme indépendant
- 7. Choix architecturaux d’un cluster Hadoop
- 8. Conclusion
- 9. Guide d’étude du chapitre
- 9.1 Présentation des guides d’étude
- 9.2 Comment utiliser le guide d’étude ?
- 10. À retenir
- MapReduce
- 1. Introduction
- 2. Mapreduce : un nouveau paradigme
- 3. Détails conceptuels des phases du MapReduce
- 3.1 Phase Map
- 3.2 Phase Shuffle
- 3.3 Phase Reduce
- 4. Détails techniques de l’exécution du MapReduce dans un cluster
- 5. Exemples d’application du MapReduce
- 5.1 Calcul d’un index inversé
- 5.2 Jointure de deux tables relationnelles
- 5.3 Exemple de patron de conception du Map/Reduce en Python
- 6. Modèles alternatifs au MapReduce
- 6.1 Tez : le moteur d’optimisation du MapReduce
- 6.2 Spark : le moteur in-memory distribué
- 6.3 Architectures ? : la couche Streaming du MapReduce
- 7. Conclusion
- 8. Guide d’étude du chapitre
- 9. À retenir
- Hadoop
- 1. Introduction
- 2. Spécificités d’un cluster Hadoop
- 2.1 « Conscience des casiers » des nœuds du cluster (rack awareness)
- 2.2 Localisation des données dans le cluster (data locality)
- 3. Détails d’exécution du MapReduce dans un cluster Hadoop
- 4. Gestion des défaillances dans un cluster Hadoop
- 4.1 Gestion de la défaillance du nœud de référence
- 4.2 Gestion de la défaillance des nœuds de données
- 4.3 Gestion des « retardataires » (stragglers)
- 5. Hadoop Streaming
- 6. Conclusion
- 7. Guide d’étude du chapitre
- 8. À retenir
- HDFS
- 1. Introduction
- 2. Pourquoi a-t-on besoin d’un système de fichiers ?
- 2.1 Principes de stockage des données sur le disque dur
- 2.2 Principes de stockage des données dans un cluster
- 2.2.1 Principes de stockage des données dans un cluster shared-disk
- 2.2.2 Principes de stockage des données dans un cluster shared-nothing
- 3. Définition du HDFS dans le cluster Hadoop
- 3.1 Définition et rôle du HDFS dans le cluster
- 3.2 Processus de maintien de la haute disponibilité du cluster
- 3.3 Interactivité avec le HDFS
- 4. Conclusion
- 5. Guide d’étude du chapitre
- 6. À retenir
- Futur d’Hadoop : limites d’Hadoop et YARN
- 1. Introduction
- 2. Limites d’Hadoop
- 2.1 Modèle de calcul d’Hadoop
- 2.2 HDFS
- 2.3 Haute disponibilité du cluster
- 2.4 Sécurité du cluster
- 3. YARN et développements en cours sur Hadoop
- 3.1 Définition du YARN
- 3.2 Fonctionnement du YARN
- 3.3 Fédération HDFS
- 4. Conclusion
- 5. Guide d’étude du chapitre
- 6. À retenir
- SQL dans Hadoop
- 1. Introduction
- 2. Étude de l’écosystème Hadoop
- 3. Langages d’abstraction
- 3.1 Hive
- 3.1.1 Infrastructure technique de Hive
- 3.1.2 Écriture des requêtes HiveQL
- 3.2 Pig
- 3.1 Hive
- 4. Moteurs natifs SQL sur Hadoop
- 4.1 Fonctionnement des bases de données parallèles (MPP DB)
- 4.1.1 Architecture des bases de données parallèles
- 4.1.2 Exécution des requêtes SQL dans les bases de données parallèles
- 4.2 Fonctionnement des moteurs natifs SQL sur Hadoop
- 4.3 Impala : le moteur SQL sur Hadoop de Cloudera
- 4.1 Fonctionnement des bases de données parallèles (MPP DB)
- 5. Conclusion
- 6. Guide d’étude du chapitre
- 7. À retenir
- Streaming
- 1. Introduction
- 2. Domaine temporel
- 3. Approches de traitement streaming
- 3.1 Approche batch du traitement streaming
- 3.1.1 Batch par fenêtrage
- 3.1.2 Batch par sessions
- 3.2 Approche continue du traitement streaming
- 3.2.1 Fenêtres
- 3.2.2 Techniques de traitement événement par événement
- 3.2.3 Techniques de traitement agnostiques au temps (time-agnostic)
- 3.2.4 Techniques d’approximation
- 3.2.5 Techniques de fenêtrage par temps de traitement
- 3.2.6 Techniques de fenêtrage par temps d’événement
- 3.1 Approche batch du traitement streaming
- 4. Idempotence
- 4.1 Nature du traitement
- 4.1.1 Traitements de nature déterministe
- 4.1.2 Traitements de nature aléatoire
- 4.2 État
- 4.2.1 Définition de la notion d’état
- 4.2.2 Utilisation ou non de l’état
- 4.2.3 Mécanisme de sauvegarde de l’état
- 4.1 Nature du traitement
- 5. Disponibilité d’un système streaming
- 6. Conclusion
- 7. Guide d’étude du chapitre
- 8. À retenir
- Apache Storm
- 1. Introduction
- 2. Définition de Storm
- 3. Fonctionnement de Storm
- 4. Topologies
- 4.1 Philosophie et fonctionnement des topologies
- 4.2 Topologies DRPC
- 5. Utilisation de Storm
- 6. Storm et Hadoop
- 6.1 Storm-YARN
- 6.2 Storm et architecture ?
- 7. Conclusion
- 8. Guide d’étude du chapitre
- 9. À retenir
- Adoption d’Hadoop
- 1. Introduction
- 2. Distributions Hadoop
- 3. Distribution Cloudera d’Hadoop
- 4. Distribution Hortonworks d’Hadoop
- 5. Distribution MapR d’Hadoop
- 6. Tableau récapitulatif des outils proposés
- 7. Guide de sélection d’une distribution Hadoop
- 8. Conclusion
- 9. Guide d’étude du chapitre
- 10. À retenir
- Transition numérique
- 1. Introduction
- 2. Changement
- 2.1 Principes qui régissent le changement
- 2.1.1 Principe 1 : le changement est un processus, pas un événement
- 2.1.2 Principe 2 : le changement annonce son arrivée par des signes
- 2.1.3 Principe 3 : le changement contient une opportunité qui lui est inhérente
- 2.1.4 Principe 4 : le changement est un processus inéluctable
- 2.2 Clés qui donnent accès aux opportunités du changement
- 2.2.1 Clé 1 : évitez le comportement de la grenouille – le changement est processus
- 2.2.2 Clé 2 : évitez le comportement du crabe – le changement est inéluctable
- 2.2.3 Clé 3 : évitez la présomption – tout change
- 2.2.4 Clé 4 : changez votre perception – le changement est normal
- 2.2.5 Clé 5 : soyez intentionnel – le changement contient une opportunité
- 2.1 Principes qui régissent le changement
- 3. Transition vers le Numérique et Hadoop
- 3.1 Caractéristiques de l’ère numérique
- 3.1.1 Âge de l’information
- 3.1.2 Âge de la communication
- 3.1.3 Âge de la globalisation
- 3.2 Pourquoi apprendre Hadoop ?
- 3.2.1 Raison 1 : apprendre Hadoop vous positionne en pionnier
- 3.2.2 Raison 2 : apprendre Hadoop hausse votre valeur professionnelle
- 3.2.3 Raison 3 : apprendre Hadoop vous permet de couvrir la majorité des problématiques de traitement de données
- 3.3 Quelques conseils
- 3.3.1 Profils métier Hadoop
- 3.3.2 Certifications éditeurs
- 3.3.3 Masters spécialisés
- 3.3.4 Kaggle et meetup Hadoop
- 3.1 Caractéristiques de l’ère numérique
- 4. Conclusion
- 5. Guide d’étude du chapitre
- 6. À retenir
- Liens et références utiles
- 1. Liens utiles
- 2. Bibliographie
- Réponses des guides d’étude
Soyez le premier à donner votre avis sur “Hadoop Devenez opérationnel dans le monde du Big Data”