BIG DATA : Définition : un ensemble de technologies d’architecture, d’outils et

BIG DATA : Définition : un ensemble de technologies d’architecture, d’outils et de procédures permettant à une organisation de très rapidement capter, traiter et analyser de larges contenus hétérogènes et changeant, et d’en extraire les informations pertinentes à un cout accessible. Caractéristiques du Big Data : les 5 V - Volume : La masse des données - Variété : Les données de type différents : structurées et non structurées - Vélocité : Traitement de données en temps réel (Pour détection de fraude par exemple. - Véracité : La qualité de la fiabilité et la confiance des données - Valeur : Apporter des nouvelles valeurs pour les clients et l’entreprise Adaptabilité : puisqu’on va avoir affaire avec une grande masse de données, on doit s’adapter. C’est à dire qu’on doit redéfinir les méthodes de traitement de ces données car ces derniers seront difficiles à manipuler avec les outils classiques. Comment le Big Data gère ses situations complexes ? - Distribution de données : la répartition des données dans plusieurs machines - Traitement en parallèle : Traiter les différentes données qui sont réparties sur plusieurs serveurs pour le traitement et l’analyse, et qui seront par la suite fusionnées pour le résultat final recherché. - Tolérance aux pannes : Quand un serveur ou une machine est en panne, on peut obtenir nos données à partir d’une autre machine ou un autre data center. - L’utilisation de matériel standard : La plupart des outils et des Frameworks du big data utilisent les matériaux standard. C’est à dire qu’on n'a pas besoin d’un matériel spécifique. Cela réduit le coût de l’infrastructure totale. - Flexibilité, évolutivité et scalabilité : Horizontale et Verticale Les Cas d’utilisation du Big data : Quand utiliser le Big Data ? Marketing : Analyse prédictive : En analysant l’historique des achats du client ou les fichiers Logs qui contiennent les pages visitées, l’entreprise peut prévoir ce que le client cherche et les mettre dans les zones des offres et publicités afin d’augmenter les achats. Santé : Analyse des résultats de santé d’une population pour prévoir les maladies et les épidémies, savoir les causes environnementales et prendre les préventions nécessaires dans les stages primaires. D’autres Exemples .. HADOOP : Est une plateforme (Framework) open source conçue pour réaliser d'une façon distribuée des traitements sur des volumes de données massives, de l'ordre de plusieurs pétaoctets. Ainsi, il est destiné à faciliter la création d'applications distribuées et échelonnables (scalables). Il s'inscrit donc typiquement sur le terrain du Big Data. Il est constitué de 2 grandes parties : - HDFS : Répartit les données sur de nombreuses machines - Yarn : un mécanisme d’ordonnancement de programmes de type MapReduce. Versions de Hadoop : - Hadoop 1.0 : HDFS + MAPREDUCE - Hadoop 2.0 : HDFS + YARN (MAPREDUCE) + Autres systèmes HDFS : Hadoop Distributed File System Comment fonctionne HDFS ? Il est découpé en plusieurs blocs de 256Mo. Dans HDFS, chaque fichier est réparti sur plusieurs blocs qui ne sont pas forcément dans la même machine. Et chaque fichier se trouve en plusieurs exemplaires dans différents endroits pour la tolération de panne. Un Cluster HDFS est constitué de plusieurs machines : - NameNode : Cette machine contient tous les noms et blocs des fichiers, comme un gros annuaire téléphonique. - Secondary NameNode : C’est une sorte de namenode de secours qui enregistre les sauvegardes de l’annuaire à intervalles réguliers. - Clients : Ce sont des points d’accès au cluster pour s’y connecter et travailler. - Datanode : Machine qui stocke les blocs du contenu des fichiers. Client Hadoop : Ecriture Un client demande au nameNode qu’il veut écrire dans ses blocs. Le namenode indique le dataNode dans lequel il va insérer ses données. Les dataNodes répliquent le bloc entre eux. Client Hadoop : Lecture Le client indique au NameNode qu’il souhaite lire un fichier. Celui-ci indique sa taille et les différents DataNode contenant les N blocs. Le client récupère chacun des blocs à un des DataNodes. Si un DataNode est indisponible, le client le demande à un autre. COMMANDES HADOOP FS - hadoop fs -put livre.txt /data_input/livre.txt : Pour stocker le fichier livre.txt sur HDFS dans le répertoire /data_input. - hadoop fs -get /data_input/livre.txt livre.txt : Pour obtenir le fichier /data_input/livre.txt de HDFS et le stocker dans le fichier local livre.txt. - hadoop fs -mkdir /data_input : Pour créer le répertoire /data_input - hadoop fs -rm /data_input/livre.txt : Pour supprimer le fichier /data_input/livre.txt MAP REDUCE : Définition : MapReduce est un paradigme (un modèle) visant à généraliser les approches existantes pour produire une approche unique applicable à tous les problèmes. Il permet de traiter des données volumineuses de manière parallèle et distribuée. Il distingue deux opérations à effectuer sur ses données : - MAP : Elle va transformer les données d'entrée en une série de couples clef/valeur. Elle va regrouper les données en les associant à des clefs, choisies de telle sorte que les couples clef/valeur aient un sens par rapport au problème à résoudre. Par ailleurs, cette opération doit être parallélisable: on doit pouvoir découper les données d'entrée en plusieurs fragments, et faire exécuter l'opération MAP à chaque machine du cluster sur un fragment distinct. - REDUCE : va appliquer un traitement à toutes les valeurs de chacune des clefs distinctes produite par l'opération MAP. Au terme de l'opération REDUCE, on aura un résultat pour chacune des clefs distinctes. Ici, on attribuera à chacune des machines du cluster une des clefs uniques produites par MAP, en lui donnant la liste des valeurs associées à la clef. Chacune des machines effectuera alors l'opération REDUCE pour cette clef On distingue donc 4 étapes distinctes dans un traitement MapReduce : • Découper (split) les données d'entrée en plusieurs fragments. • Mapper chacun de ces fragments pour obtenir des couples (clef ; valeur). • Grouper (shuffle) ces couples (clef ; valeur) par clef. • Réduire (reduce) les groupes indexés par clef en une forme finale, avec une valeur pour chacune des clefs distinctes. SPARK Définition : C’est un moteur MapReduce plus évolué, plus rapide pour les tâches impliquant de multiples maps et/ou reduce. - Utilisation de la mémoire pour optimiser les traitements. - Des API’s pour faciliter et optimiser les étapes d’analyses. Au centre du paradigme employé par Spark, on trouve la notion de RDD (Resilient Distributed Datasets) . Architecture RDD : larges hashmaps stockées en mémoire et sur lesquelles on peut appliquer des traitements. Ils sont : - Distribués. - Partitionnés (pour permettre à plusieurs noeuds de traiter les données). - Redondés (limite le risque de perte de données). - En lecture seule : un traitement appliqué à un RDD donne lieu à la création d'un nouveau RDD Deux types d'opérations possibles sur les RDDs: - Une transformation : une opération qui modifie les données d'un RDD. Elle donne lieu à la création d'un nouveau RDD. Les transformations fonctionnent en mode d'évaluation lazy: elles ne sont exécutées que quand on a véritablement besoin d'accéder aux données. "map" est un exemple de transformation. (map, filter , join) - Une action : elles accèdent aux données d'un RDD, et nécessitent donc son évaluation (toutes les transformations ayant donné lieu à la création de ce RDD sont exécutées l'une après l'autre). "saveAsTextFile" (qui permet de sauver le contenu d'un RDD) ou "count" (qui renvoie le nombre d'éléments dans un RDD) sont des exemples d'actions. (collect, count, save) uploads/Industriel/ resume-big-data.pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager