Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Big Data : Hadoop
- Généralité
- Architecture HDFS
- Algorithme MapRduce
- Architecture YARN
- Hadoop v3.x vs Hadoopv2.x
Cours Big Data - Chap2 - GI3 - ENIS
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Big Data : Hadoop
- Généralité
- Architecture HDFS
- Algorithme MapRduce
- Architecture YARN
- Hadoop v3.x vs Hadoopv2.x
Cours Big Data - Chap2 - GI3 - ENIS
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
C'est la troisième partie du cours Business Intelligence et Data warehouse.
Si vous avez des questions, des remarques ou des propositions, n'hésitez pas de me les envoyer via mon email:
pr.azizdarouichi@gmail.com.
Bonne lecture
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
CNES - CCT SIL - Traitement et Manipulation de la donnée à l‘aide des technologies Big Data
Présentation du 30 Juin 2017
Les CCT sont des espaces d'échanges techniques mis en place par le CNES il y a 20 ans, dans le but de réunir différents acteurs industriels et public pour s'enrichir mutuellement.
Présentation générales du Big Data et zoom sur des cas d'usage dans l'industrie et les services.
Présentation réalisée à l'occasion de l'événement Big data de Niort du 20 mars 2014
Rapide introduction à Hadoop lors du lancement du Casablanca Hadoop & Big Data Meetup.
En partenariat avec Hortonworks
http://www.meetup.com/Casablanca-Hadoop-et-Big-Data-Meetup
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
C'est la troisième partie du cours Business Intelligence et Data warehouse.
Si vous avez des questions, des remarques ou des propositions, n'hésitez pas de me les envoyer via mon email:
pr.azizdarouichi@gmail.com.
Bonne lecture
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
CNES - CCT SIL - Traitement et Manipulation de la donnée à l‘aide des technologies Big Data
Présentation du 30 Juin 2017
Les CCT sont des espaces d'échanges techniques mis en place par le CNES il y a 20 ans, dans le but de réunir différents acteurs industriels et public pour s'enrichir mutuellement.
Présentation générales du Big Data et zoom sur des cas d'usage dans l'industrie et les services.
Présentation réalisée à l'occasion de l'événement Big data de Niort du 20 mars 2014
Rapide introduction à Hadoop lors du lancement du Casablanca Hadoop & Big Data Meetup.
En partenariat avec Hortonworks
http://www.meetup.com/Casablanca-Hadoop-et-Big-Data-Meetup
Techday Arrow Group: Hadoop & le Big DataArrow Group
retrouvez notre techday sur Hadoop & le Big Data.
La Technologie Hadoop au coeur des
projets "Big Data".
Pour en savoir plus sur notre projet Square Predict:
http://www.square-solutions.com/accueil/square-predict-big-data-assurance/
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureMicrosoft
L'algorithme Map/Reduce et sa mise en oeuvre avec Apache Hadoop permettent de gérer de très grands volumes de données non structurées. Microsoft adopte Haddop sur Windows et Windows Azure. Venez voir comment.
Hadoop est un framework 100% open source,écrit en Java et géré par la fondation Apache
Hadoop est capable de stocker et traiter de manière efficace un grand nombre de donnés, en reliant plusieurs serveurs banalisés entre eux pour travailler en parallèle
Hadoop est devenu la plateforme de référence dans le monde Big Data.
Dans cette session, nous proposons un tour d’horizon de cet écosystème.
Nous vous présenterons les principaux composants de la plateforme, leurs fonctionnalités, leur maturité et les limites qu’ils permettent de dépasser.
Nous nous appuierons pour cela sur différents exemples de mise en œuvre afin d’illustrer la manière dont ils s’interconnectent pour former des solutions complètes de traitement des données.
Spark, ou comment traiter des données à la vitesse de l'éclairAlexis Seigneurin
Spark fait partie de la nouvelle génération de frameworks de manipulation de données basés sur Hadoop. L’outil utilise agressivement la mémoire pour offrir des temps de traitement jusqu’à 100 fois plus rapides qu'Hadoop. Dans cette session, nous découvrirons les principes de traitement de données (notamment MapReduce) et les options mises à disposition pour monter un cluster (Zookeper, Mesos…). Nous ferons un point sur les différents modules proposés par le framework, et notamment sur Spark Streaming pour le traitement de données en flux continu.
Présentation jouée chez Ippon le 11 décembre 2014.
This document provides steps for running MapReduce jobs on an Azure Hadoop cluster. It details how to connect to the cluster using SSH, copy data into HDFS, submit MapReduce jobs using Hadoop streaming, and view the output. The goals are to demonstrate running MapReduce both with and without Hadoop and show how to set up and execute jobs on the Azure Hadoop instance.
This document provides steps for running MapReduce jobs on an Azure Hadoop cluster. It details how to connect to the cluster using SSH, copy data into HDFS, submit MapReduce jobs using Hadoop streaming, and view the output. The goals are to demonstrate running MapReduce both with and without Hadoop and show how to set up and execute jobs on the Azure Hadoop instance.
Si la baisse de la productivité est effective dans toutes les économies développées... elle est particulièrement marquée en France. Au niveau national, cet essoufflement touche tous les secteurs, et plus particulièrement celui de l’industrie, usuellement caractérisé par des gains de productivité élevés. Depuis la crise Covid, le secteur industriel contribue pour 35 % environ à cette perte, alors qu’il ne représente que 9,3 % de la valeur ajoutée nationale brute en 2023. Dans ce contexte, est-il possible de mener une politique de réindustrialisation du pays sans y associer un objectif de hausse des gains de productivité ?Non rappelle ce Cube. Au contraire, ces deux objectifs, jusqu’alors indépendants l’un de l’autre, sont désormais deux défis à relever conjointement. En analysant les différents explications à la baisse de celle-ci observée en France et dans les autres économies développées, ce Cube suggère que l’augmenter en parallèle d’une politique de réindustrialisation sous-entend une réallocation des facteurs de production vers les entreprises industrielles à fort potentiel. Elle suppose également une une meilleure affectation des ressources.
2. Pourquoi
Nous avons vu la différence entre les deux possibilités de scaling pour
traiter un gros volume de données
Hadoop a été créé pour traiter un gros volume de données de manière
distribuée
Doug Cutting travaille chez Google après être passé chez les meilleurs
(Excite, Apple, Xerox, …)
Il a créé le projet de moteur de recherche Lucene (porté par Apache) (nous
en reparlerons)
Le premier vrai projet Hadoop est né chez Yahoo (10 000 cœurs !, x10
aujourd’hui)
Utilisé par Facebook avec 30 Po de données
2
3. Les pilliers
Architecturaux :
Le stockage : HDFS
La gestion des nœuds et des tâches : YARN
Le stockage d’objets : Ozone
Le Traitement : Map Reduce
Plusieurs distributions plus ou moins open source
Hortonworks
Cloudera
MapR
3
5. HDFS
Système de stockage de fichiers (Filesystem)
La manière dont une machine stocke ses fichiers
Par exemple FAT32 et NTFS pour Windows, ext2, ext3 pour Linux.
Il en existe un grand nombre en fonction des usages ou des constructeurs de
machines
Il est :
Distribué, c’est à dire réparti sur plusieurs machines
Extensible : on peut l‘étendre à volonté en rajoutant des machines
Portable : il n’est pas liée à un système d’exploitation
5
6. Principes
Stocke de très gros volumes
Composés de gros fichiers
Taille mini 64 Mo, à comparer aux 1ko de nos Pc’s
Il abstrait l’architecture physique de stockage
Vu par l’utilisateur comme un disque dur unique
6
7. Architecture
Deux composants principaux
Le NameNode, qui sait ou sont rangés les fichiers et qui est unique
Les DataNode, qui stockent des morceaux de fichiers et qui peuvent les
restituer
7
8. Namenode
Deux composants principaux
Le NameNode, qui sait ou sont rangés les fichiers
Semble à la FAT (File allocation Table) d’un disque dur
Il gère l’espace de noms
Il centralise la répartition des blocs de données dans le cluster
Il est unique
SPOF (Single Point Of Failure)
On peut définir un NameNode secondaire, en cas de panne
8
9. DataNode
Stocke et restitue les blocs de données
En Lecture :
Le Namenode est interrogé pour localiser les blocs de données
Pour chaque bloc, il dit quel DataNode est le plus apte (bande passante) à
fournir la réponse
Réplication
Permet d’assurer la haute disponibilité
Périodiquement, les dataNodes indique quels blocs ils détiennent au
NameNode
Si celui-ci estime que le donnée n’est pas présente dans assez de DataNode, il
met en route une réplication (par défaut trois réplications)
Mécanisme qui ressemble (de loin) au RAID
9
13. Inconvénients
Le NameNode est unique
Il peut constituer un goulot d’étranglement si l’on accède à beaucoup de petits
fichiers (Hadoop n’est pas fait pour cela, il y a d’autres outils)
Peut se contourner à l’aide des espaces de noms (NameSpace) qui peuvent être
servis par des NameNode différents
C’est un SPOF (Single Point Of Failure), même si un basculement manuel vers
une copie est possible
13
14. YARN (Yet Another Resource Negotiator)
Une trousse à outils
Pour gérer les ressources du cluster
Pour planifier (Scheduling) des tâches (Jobs)
Est devenu un système d’exploitation distribué
Supprime la forte dépendance entre HDFS et MapReduce
On peut dissocier le stockage de l’exploitation des données
Permet par exemple :
Des applications interactives
Le traitement de flux de données
14
15. YARN
Resource Manager
Gestionnaire de ressource global
Accepte les tâches
Les planifie
Leur alloue des ressources
Node Manager
Surveille l’état des ressources et transmet au ResourceManager
Containers de ressources
Assigne les ressources allouées par le Node Manage à une application
Autorise les applications opportunistes : elle se lancent quand des
ressources sont disponibles
15
16. Ozone
Stockage objet pour HDFS
Permet de gérer un très grand nombre de petits fichiers
Outrepasse une limitation classique de HDFS
Permet de gérer des milliers de nœuds
Base consistante
Modèle RAFT (Reliable, Replicated, Redundant and Fault-Tolerant)
Fiable
Répliqué
Redondant
Tolérant à la panne
Tests sur https://www.katacoda.com/
16
17. Zookeeper
Indispensable pour tous les outils Hadoop
Peut être utilisé de manière indépendante de Hadoop
Gestionnaire de configuration pour système distribués
Haute disponibilité, services redondants
17
18. Map Reduce
Un Framework (cadre) de programmation
Et donc une nouvelle manière de penser les choses
Une architecture maitre – esclave
Le système découpe les données pour distribuer les tâches
On apporte le traitement là ou sont les données, et non l’inverse
C’est un système tolérant à la panne
La parallèlisation est cachée à l’utilisateur, il n’a pas à la gérer
Le processus peut être récursif
Il travaille en mémoire
18
19. Map Reduce
Découpe les tâches en deux opérations
Map :
On transforme chaque donnée en une autre
Sur chaque nœud du cluster
Reduce
Le nœuds fond remonter leurs données vers le nœud parent
Les données sont consolidées par le nœud parent pour fournir la (les) réponse(s)
19
21. Map
Le nœud analyse, découpe et délègue
Associe à un couple (clef, valeur) un autre couple (clef2, valeur2)
21
Map( clef1, valeur1) -> list(clef2, valeur2)
Map (void * Document) {
int cles = 1;
foreach mot in document
Calcul(mot, cles);
}
22. Reduce
Le nœud analyse, découpe et délègue
Associe à un couple (clef, valeur) un autre couple (clef2, valeur2)
22
Reduce( clef2, list(valeur2)) -> valeur3
Reduce(int clefs, Interator values) {
int result = 0;
foreach v in values
result += v;
}
23. MapReduce et ses limites
Ne peut être utilisé que par des langages de bas niveau (pas de type SQL p.ex.)
Pas de gestion des index, donc pertes de performances (les index ont été inventés pour
cela)
Un seul flot de données
un jeu de donnée en sortie
Une seule donnée en sortie
La tolérance aux pannes et la mise à l’échelle n’optimisent pas les entrées-sorties
Map et Reduce sont des opérations bloquantes
i.e. tous les Map() doivent être terminés pour lancer Reduce()
23
24. Combiner
On peut améliorer les choses en précalculant sur les nœuds
P.ex. un maximum existe sur chaque nœud, il y est calculé puis envoyé à
reduce
Cela permet de transférer moins de données
Et de moins charger le nœud du reducer
24
25. Pig
Un langage pour faire du Map Reduce
Inspiré de Java
Peut être aussi utilisé en Python, Javascript, Ruby ou Groovy
25
26. Pig : un exemple 26
input_lines = LOAD '/tmp/my-copy-of-all-pages-on-internet' AS (line:chararray);
-- Extract words from each line and put them into a pig bag
-- datatype, then flatten the bag to get one word on each
Row_words = FOREACH input_lines GENERATE FLATTEN((line)) AS word;
-- filter out any words that are just white spaces
filtered_words = FILTER words BY word MATCHES 'w+’;
-- create a group for each word
word_groups = GROUP filtered_words BY word;
-- count the entries in each group
word_count = FOREACH word_groups GENERATE (filtered_words) AS , group AS word;
-- order the records by count
ordered_word_count = ORDER word_count BY
DESC; STORE ordered_word_count INTO '/tmp/number-of-words-on-internet';
27. Hive
Entrepôt de données
Utilisateurs
Développé par Facebook
Utilisé par Netflix
En place sur Amazon (un fork, c’est-à-dire Hive + des fonctionnalités ajoutées)
Permet un requêtage par un langage proche de SQL (Hive Query Language)
Fonctionnalité ACID
Pas de transactions
Indexation « faible »
En interne, Hive traduit les requêtes
en Graphe Orienté Acyclique (MapReduce ou Tez)
En Jobs Spark
27
28. Permet d’utiliser Hadoop avec d’autres langages que Java (p.ex. Python)
Il s’agit d’une API vers MapReduce
Les interfaces se font à l’aide des entrés-sorties standard Un*x (stdin,
stdout)
Parfaitement adapté à du traitement par ligne de chaines de caractères
La sortie de map est un couple clef-valeur séparé par une tabulation
Hadoop trie les valeurs par clef et les passe à reduce
28
Hadoop streaming