background preloader

MapReduce

MapReduce
Un article de Wikipédia, l'encyclopédie libre. Les termes « map » et « reduce », et les concepts sous-jacents, sont empruntés aux langages de programmation fonctionnelle utilisés pour leur construction (map et réduction de la programmation fonctionnelle et des langages de programmation tableau). MapReduce permet de manipuler de grandes quantités de données en les distribuant dans un cluster de machines pour être traitées. Présentation[modifier | modifier le code] Un modèle de programmation[modifier | modifier le code] MapReduce est un modèle de programmation popularisé par Google. MapReduce consiste en deux fonctions map() et reduce(). Dans l'étape Map le nœud analyse un problème, le découpe en sous-problèmes, et les délègue à d'autres nœuds (qui peuvent en faire de même récursivement). map(clé1,valeur1) → list(clé2,valeur2) //En pseudo code cela donneraitMap(void * document){ int cles = 1; for each mot m in document calculIntermediaire(m,cles);} reduce(key2,list(valeur2))→ list(valeur2)[1] Related:  ArchitecturesBusiness Intelligence

Test Driven Development Un article de Wikipédia, l'encyclopédie libre. Le Test-Driven Development (TDD), ou développements pilotés par les tests en français, est une méthode de développement de logiciel qui consiste à écrire chaque test, notamment des tests unitaires, avant d'écrire le code source d'un logiciel, de façon itérative. Cycle de TDD[modifier | modifier le code] Une représentation graphique du cycle de la méthode Développements Pilotés par les Tests (TDD) Le cycle préconisé par TDD comporte cinq étapes : écrire un seul test qui décrit une partie du problème à résoudre ;vérifier que le test échoue, autrement dit qu'il est valide, c'est-à-dire que le code se rapportant à ce test n'existe pas ;écrire juste assez de code pour que le test réussisse ;vérifier que le test passe, ainsi que les autres tests existants ;puis remanier le code, c'est-à-dire l'améliorer sans en altérer le comportement. Ce processus est répété jusqu'à résoudre le problème d'origine dans son intégralité.

Hadoop Un article de Wikipédia, l'encyclopédie libre. Hadoop a été créé par Doug Cutting et fait partie des projets de la fondation logicielle Apache depuis 2009. Historique[modifier | modifier le code] En 2004, Google publie un article présentant son algorithme basé sur des opérations analytiques à grande échelle sur un grand cluster de serveurs, le MapReduce, ainsi que son système de fichier en cluster, le GoogleFS. Doug Cutting, qui travaille à cette époque sur le développement de Apache Lucene et rencontre des problèmes similaires à ceux de la firme de Mountain View, décide alors de reprendre les concepts décrits dans l'article pour développer sa propre version des outils en version Open Source, qui deviendra le projet Hadoop. Architecture[modifier | modifier le code] Hadoop Distributed File System[modifier | modifier le code] Une architecture de machines HDFS (aussi appelée cluster HDFS) repose sur deux types de composants majeurs : MapReduce[modifier | modifier le code]

Criteo = Hadoop + CouchBase + Elastic Serach Pour offrir le meilleur aux annonceurs, Criteo manipule des volumes de données considérables avec des temps de réponse de quelques dixièmes de seconde. Plongeon au cœur de son architecture. C'est l'une des start-up internet françaises qui connaît actuellement le plus de succès dans le monde. Tout le monde connait aujourd'hui ces bannières publicitaires ultra-ciblées qui vous suivent d'un site à l'autre, vous rappelant les articles que vous avez vus sur un site marchand et vous proposant de retourner sur ce site pour conclure votre achat. Un véritable pari technologique lorsqu'on sait que toutes ces opérations doivent être réalisées en quelques dixièmes de seconde et que Criteo réalise le processus 3 milliards de fois chaque jour.

Tim Berners-Lee Un article de Wikipédia, l'encyclopédie libre. Tim Berners-Lee Tim Berners-Lee en 2010. Compléments Timothy John Berners-Lee, KBE, né le 8 juin 1955 à Londres, est un citoyen britannique, principal inventeur du World Wide Web (WWW) au tournant des années 1990. Biographie[modifier | modifier le code] Tim Berners-Lee est né le 8 juin 1955 à Londres, en Angleterre. Il est père de deux enfants. Carrière[modifier | modifier le code] L'invention du World Wide Web[modifier | modifier le code] L'ordinateur NeXT, utilisé par Tim Berners-Lee pour inventer le World Wide Web. En 1980, il intègre l'Organisation européenne pour la recherche nucléaire (CERN). L'objectif de cette proposition est le partage des documents informatiques, ce que Tim Berners-Lee a l'idée de réaliser en associant le principe de l’hypertexte à l'utilisation d'Internet. Capture d'écran du navigateur World Wide Web C'est en mai 1990 qu'il adopte l'expression de World Wide Web pour nommer son projet.

BigTable Un article de Wikipédia, l'encyclopédie libre. BigTable est un système de gestion de base de données compressées, haute performance, propriétaire, développé et exploité par Google[1]. Chez Google, BigTable est stockée sur le système de fichiers distribué GoogleFS. Google ne distribue pas sa base de données mais propose une utilisation publique de BigTable via sa plateforme d'application Google App Engine. ce que Hadoop ? Data warehouse, stockage et traitement distribués Définition Hadoop Hadoop est un projet Open Source géré par Apache Software Fundation basé sur le principe Map Reduce et de Google File System, deux produits Google Corp. Le produit est écrit en langage Java. Hadoop peut être considéré comme un système de traitement de données évolutif pour le stockage et le traitement par lot de très grande quantité de données. Hadoop et les analyses massives Le web n'est pas le seul à générer de grandes masses d'informations. Les analyses massives autorisent alors des optimisations bien plus fines. Benchmark Pour avoir une meilleure idée de la performance du système et de la révolution à venir : En Mai 2009 chez Yahoo Corp, utilisateur de Hadoop, 1 téra-octet (1012 ) de données a été trié en 62 secondes (cf blog développeur yahoo, voir plus bas)... Ressources Lecture recommandée › Comment utiliser Hadoop pour bâtir des systèmes distribuées afin de procéder à l'analyse de très grandes quantités de données.

Arbre de Merkle Un article de Wikipédia, l'encyclopédie libre. En informatique et en cryptographie, un arbre de Merkle ou arbre de hachage est une structure de données contenant un résumé d'information d'un volume de données, généralement grand (comme un fichier). Les arbres de hachage ont été inventés par Ralph Merkle en 1979[1]. Fonctionnement[modifier | modifier le code] Le principe d'un arbre de hachage consiste à décomposer les données d'entrée en un ensemble de blocs de tailles identiques. Les nœuds de niveau supérieur sont ensuite obtenus en compressant les nœuds du niveau courant à l'aide d'une fonction de hachage/compression jusqu'à n'obtenir qu'un nœud : la racine. Utilisations[modifier | modifier le code] Actuellement, les arbres de hachage sont très utilisés dans les réseaux pair à pair, car ils permettent de vérifier l'intégrité d'une partie d'un fichier. Références[modifier | modifier le code] Portail de la cryptologie

22 outils gratuits pour visualiser et analyser les données (1ère partie) Vous avez des données à explorer ? Voici quelques outils qui pourront vous être utiles pour les transformer en informations et en graphiques attrayants. Pour faire parler des données, rien ne vaut une panoplie d'outils de visualisation graphique. Computerworld souligne que la correction des textes se fait simplement. DataWrangler (cliquer ici pour agrandir l'image) Niveau de compétences requis : débutant avancé.Fonctionne sur tout navigateur web.En savoir plus : - Google Refine : comme un tableurIl ressemble à un tableur pour examiner à la fois les données numériques et alphanumériques, mais à l'inverse du tableur, il ne permet pas d'effectuer des calculs. Refine intègre plusieurs algorithmes retrouvant les mots orthographiés différemment mais qui devraient en fait être regroupés. Google Refine (cliquer ici pour agrandir l'image) Niveau de compétences requis : débutant avancé.

Les principes de l’ETL Pour alimenter le datawarehouse des différentes applications de l’entreprise, on utilise une gamme d’outils appelés ETL, pour « Extract, Transform, Load ». Comme le nom l’indique, ces outils permettent d’extraire des données à partir de différentes sources, de les transformer (format, dénomination), et de les charger dans la base de données cible, ici le datawarehouse. Les transformations confiées à un ETL sont souvent simples, mais elles peuvent dans certains cas inclure des traitements procéduraux, de véritables programmes spécifiques. Un ETL permet d’éviter la réalisation de programmes batch répétitifs, souvent semblables, dont il faudra également assurer la maintenance. L’ETL peut prendre en charge différentes natures de sources de données, tant en entrée qu’en sortie, les principales étant bien sûr les SGBD relationnels, et les flux XML, mais il peut s’agir aussi de fichiers à formats fixes ou avec séparateurs (CSV). L’ETL a vocation à travailler en différé, le plus souvent la nuit.

Métadonnée Un article de Wikipédia, l'encyclopédie libre. Un exemple type est d'associer à une donnée la date à laquelle elle a été produite ou enregistrée, ou à une photo les coordonnées GPS du lieu où elle a été prise. Historique[modifier | modifier le code] Tous les établissements qui ont à gérer de l'information, bibliothèques, archives ou médiathèques ont déjà une longue pratique dans la codification du signalement ou des contenus des documents qu'ils manipulent. Ces descriptions ont ensuite été informatisées sous la forme de notices bibliographiques et normalisées (voir par exemple les formats MARC en 1964 utilisant la norme ISO 2709 dont la conception a démarré en 1960). Les bibliothèques numériques ont eu recours aux mêmes dispositifs pour gérer et localiser des documents électroniques. Le terme métadonnée (en anglais : metadata) est apparu dans le cadre de la description de ressources sur Internet dans les années 1990 et s'est ensuite généralisé. Généralisation[modifier | modifier le code]

D3.js - Data-Driven Documents ETL, les questions à se poser ETL, acronyme de Extraction, Transformation, Loading, est un système de chargement de données depuis les différentes sources d'information de l'entreprise (hétérogènes) jusqu'à l'entrepôt de données (modèles multidimensionnels). Ce système ne se contente pas de charger les données, il doit les faire passer par un tas de moulinettes pour les dé-normaliser, les nettoyer, les contextualiser, puis de les charger de la façon adéquate. Nous verrons par la suite ce que chaque mot veut dire. Il est important de savoir que la réalisation de l'ETL constitue 70% d'un projet décisionnel en moyenne. Avant de commencer, visualisez le schéma d'un entrepôt et sa façon de fonctionner (gérer l'historique, dimensions, faits, etc.). Dé-normalisées : dans un DW (Data Warehouse), avoir des doublons n'est pas important, avoir un schéma en troisième forme normale est même déconseillé. Si vous cherchez des méthodes de conceptions d'ETL, et bien il n'y en a pas. III-A. III-B. III-C. III-D. III-E. Et oui !

Related: