Issat Gafsa 2022/2023 Dr. Fatma Hrizi Traitement du Big data avancé Chapitre 1:

Issat Gafsa 2022/2023 Dr. Fatma Hrizi Traitement du Big data avancé Chapitre 1: Introduction 1 Dr. Fatma Hrizi Issat Gafsa 2022/2023 Objectifs de ce cours • Ce module a pour objectif de construire un programme à base de MapReduce et intégrer Hadoop HBase. • Ce cours permet aux étudiants de découvrir également la notion du stockage distribué et le traitement de gros volumes de données structurées et non structurées pour obtenir de meilleures connaissances métier en utilisant plusieurs outils. 2 Dr. Fatma Hrizi Issat Gafsa 2022/2023 Objectifs de ce cours • A l’issue de ce cours, l'étudiant ou l'étudiante sera en mesure de : • Appréhender le fonctionnement d’Hadoop • Identifier l’écosystème : quels outils pour quels usages ? • Manipuler les principales commandes shell d’interaction avec Hadoop • Émettre des requêtes SQL avec Hive et HCatalog • Créer des traitements de données avec Pig 3 Dr. Fatma Hrizi Issat Gafsa 2022/2023 Plan du Cours 1. Chapitre 1: Rappel HADOOP 2. Chapitre 2: Pig & Hive 3. Chapitre 3: HBase et Cassandra 4 Dr. Fatma Hrizi Issat Gafsa 2022/2023 Chapitre1: Rappel Hadoop 5 Dr. Fatma Hrizi Issat Gafsa 2022/2023 Plan du chapitre 1 1. Historique 2. HDFS et YARN 3. MapReduce 4. Approfondissement sur MapReduce 6 Dr. Fatma Hrizi Issat Gafsa 2022/2023 L’écosystème Hadoop: Historique 7 • En 2004, Google a publié un document sur leur framework de traitement interne: MapReduce. • En 2005, Yahoo a publié une implémentation open source basée sur ce framework: Hadoop. • Dans les années suivantes, d'autres frameworks et outils open source ont été diffusés à la communauté. • Ces frameworks ont fourni de nouvelles capacités manquantes dans Hadoop, comme les requêtes ou scripts de haut niveau. • Aujourd'hui, il y a plus de 100 projets open source pour le big data et ce nombre continue de croître. Dr. Fatma Hrizi Issat Gafsa 2022/2023 Hadoop : Diagramme de couches • Les couches de bas niveau gèrent le stockage et la planification. • Les couches de haut niveau concernent les modèles de programmation et d’interactivité avec l’utilisateur. 8 Dr. Fatma Hrizi Issat Gafsa 2022/2023 HDFS • HDFS est un système de fichiers distribué: • Les fichiers et dossiers sont organisés en arbre • Ces fichiers sont stockés sur un grand nombre de machines de manière à rendre invisible la position exacte d’un fichier. L’accès est transparent • Les fichiers sont copiés en plusieurs exemplaires pour la fiabilité et permettre des accès simultanés multiples • HDFS permet de voir tous les dossiers et fichiers de ces milliers de machines comme un seul arbre, contenant des Po de données, comme s’ils étaient sur le disque dur local. 9 Dr. Fatma Hrizi Issat Gafsa 2022/2023 HDFS • Vu de l’utilisateur, HDFS ressemble à un système de fichiers Unix : il y a une racine, des répertoires et des fichiers. Les fichiers ont un propriétaire, un groupe et des droits d’accès • Sous la racine /, il y a : • des répertoires pour les services Hadoop : /hbase, /tmp, /var • un répertoire pour les fichiers personnels des utilisateurs : /user (attention, ce n’est ni /home, ni /users comme sur d’autres systèmes Unix). Dans ce répertoire, il y a aussi trois dossiers système : /user/ hive, /user/history et /user/spark. • un répertoire pour déposer des fichiers à partager avec tous les utilisateurs : /share 10 Dr. Fatma Hrizi Issat Gafsa 2022/2023 Composants du HDFS • HDFS est composé de deux composants: NameNode et DataNode. Ceux-ci fonctionnent en relation maître/esclave • NameNode émet des commentaires à DataNodes à travers le cluster. Le NameNode est responsable des métadonnées. • DataNodes fournit un stockage par blocs. Il y a généralement un NameNode par cluster, cependant un DataNode s'exécute sur chaque nœud du cluster. • NameNode est l'administrateur ou le coordinateur du cluster HDFS. Lorsque le fichier est créé, le NameNode enregistre le nom, l'emplacement dans la hiérarchie de répertoires et d'autres métadonnées. • NameNode décide également quels DataNodes pour stocker le contenu du fichier et se souvient de ce mappage. 11 Dr. Fatma Hrizi Issat Gafsa 2022/2023 HDFS: écriture d’un fichier 12 Dr. Fatma Hrizi Issat Gafsa 2022/2023 HDFS: Lecture d’un fichier 13 Dr. Fatma Hrizi Issat Gafsa 2022/2023 Mode high availability • Comme le namenode est absolument vital pour HDFS mais unique, Hadoop propose une configuration appelée high availability dans laquelle il y a 2 autres namenodes en secours, capables de prendre le relais instantanément en cas de panne du namenode initial. • Les namenodes de secours se comportent comme des clones. Ils sont en état d’attente et mis à jour en permanence à l’aide de services appelés JournalNodes. 14 Dr. Fatma Hrizi Issat Gafsa 2022/2023 Commande HDFS • La commande hdfs dfs et ses options permet de gérer les fichiers et dossiers : • hdfs dfs -help • hdfs dfs -ls [noms...] (pas d’option -l) • hdfs dfs -cat nom • hdfs dfs -mv ancien nouveau • hdfs dfs -cp ancien nouveau • hdfs dfs -mkdir dossier • hdfs dfs -rm -f -r dossier (pas d’option -fr) 15 Dr. Fatma Hrizi Issat Gafsa 2022/2023 Commande HDFS • Pour placer un fichier dans HDFS, deux commandes équivalentes : • hdfs dfs -copyFromLocal fichiersrc fichierdst • hdfs dfs -put fichiersrc [fichierdst] • Pour extraire un fichier de HDFS, deux commandes possibles : • hdfs dfs -copyToLocal fichiersrc dst • hdfs dfs -get fichiersrc [fichierdst] 16 Dr. Fatma Hrizi Issat Gafsa 2022/2023 Commande HDFS • Exemple : • hdfs dfs -mkdir -p livres • wget http://www.textfiles.com/etext/FICTION/dracula • hdfs dfs -put dracula livres • hdfs dfs -ls livres • hdfs dfs -get livres/center_earth 17 Dr. Fatma Hrizi Issat Gafsa 2022/2023 API Java pour HDFS • Hadoop propose une API Java complète pour accéder aux fichiers de HDFS. Elle repose sur deux classes principales : • FileSystem représente l’arbre des fichiers (file system). Cette classe permet de copier des fichiers locaux vers HDFS (et inversement), renommer, créer et supprimer des fichiers et des dossiers • FileStatus gère les informations d’un fichier ou dossier : – taille avec getLen(), – nature avec isDirectory() et isFile(), • Ces deux classes ont besoin de connaître la configuration du cluster HDFS, à l’aide de la classe Configuration. D’autre part, les noms complets des fichiers sont représentés par la classe Path 18 Dr. Fatma Hrizi Issat Gafsa 2022/2023 API Java pour HDFS • Exemple: 19 Dr. Fatma Hrizi Issat Gafsa 2022/2023 Yarn • Le succès de YARN est évident: le support de plusieurs application dans Hadoop. • Yarn fournit de nombreuses façons aux applications pour extraire de la valeur des données. Il permet d'exécuter de nombreux applications distribuées sur le même cluster Hadoop. • De plus, YARN réduit la nécessité de déplacer les données et prend en charge une utilisation plus élevée des ressources entraînant une baisse des coûts. • C'est une plateforme évolutive qui a permis le développement de plusieurs applications sur le HDFS 20 Dr. Fatma Hrizi Issat Gafsa 2022/2023 21 Dr. Fatma Hrizi Issat Gafsa 2022/2023 Architecture Yarn • Le gestionnaire de ressources contrôle toutes les ressources et décide qui obtient quoi. • Le gestionnaire de nœuds fonctionne au niveau de la machine et est en charge d'une seule machine. • Ensemble, le gestionnaire de ressources et le gestionnaire de nœuds forment le framework de calcul de données. • Chaque application obtient un maître d’application (App Master). Il négocie des ressources du gestionnaire de ressources et il communique avec le gestionnaire de nœuds pour terminer ses tâches. • Le conteneur est une notion abstraite qui signifie une ressource physique qui est une collection de CPU, de mémoire disques, réseau et autres ressources. On peut le voir comme une machine. 22 Dr. Fatma Hrizi Issat Gafsa 2022/2023 23 Dr. Fatma Hrizi Issat Gafsa 2022/2023 Yarn et MapReduce • YARN permet aux utilisateurs de lancer des jobs MapReduce sur des données présentes dans HDFS, et de suivre (monitor) leur avancement, récupérer les messages (logs) affichés par les programmes. • Éventuellement YARN peut déplacer un processus d’une machine à l’autre en cas de défaillance ou d’avancement jugé trop lent. • En fait, YARN est transparent pour l’utilisateur. On lance l’exécution d’un programme MapReduce et YARN fait en sorte qu’il soit exécuté le plus rapidement possible. 24 Dr. Fatma Hrizi Issat Gafsa 2022/2023 MapReduce • L’environnement de programmation MapReduce simplifie largement l'exécution du code en parallèle. Il suffit de créer, mapper et réduire les tâches, et on n’a pas à se soucier des problèmes de synchronisation ou de concurrence. • MapReduce est un environnement Java pour écrire des programmes destinés à YARN. 25 Dr. Fatma Hrizi Issat Gafsa 2022/2023 26 Dr. Fatma Hrizi Issat Gafsa 2022/2023 MapReduce • Un job MapReduce comprend plusieurs phases : • Prétraitement des données d’entrée, ex: décompression des fichiers • Split: séparation des données en blocs traitables séparément et mise sous forme de (clé, valeur), ex: en lignes ou en n-uplets • Map: application de la fonction map sur toutes les paires (clé, valeur) formées à partir des données d’entrée, cela produit d’autres paires (clé, valeur) uploads/Sante/ cours-pig.pdf

  • 25
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mai 16, 2021
  • Catégorie Health / Santé
  • Langue French
  • Taille du fichier 4.1587MB