Difference between revisions of "SQL-on-Hadoop"

From air
Jump to navigation Jump to search
Line 35: Line 35:
   
 
Applications typically implement the Mapper and Reducer interfaces to provide the map and reduce methods. These form the core of the job.
 
Applications typically implement the Mapper and Reducer interfaces to provide the map and reduce methods. These form the core of the job.
Les applications implémentent typiquement les interfaces Mapper et Reducer pour fournir les méthodes '''map''' et '''reduce'''.
+
Les applications implémentent typiquement les interfaces Mapper et Reducer pour fournir les méthodes '''map''' et '''reduce''' qui forment le corps du job.
 
'''
 
'''
 
'''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). Les sous-problèmes sont ensuite traités par les différents nœuds à l'aide de la fonction Reduce qui à un couple (clé, valeur) associe un ensemble de nouveaux couples (clé, valeur) :
 
'''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). Les sous-problèmes sont ensuite traités par les différents nœuds à l'aide de la fonction Reduce qui à un couple (clé, valeur) associe un ensemble de nouveaux couples (clé, valeur) :

Revision as of 23:31, 21 October 2015

Présentation

  • Enseignants : Georges-Pierre Bonneau, Didier Donsez (VT2015)
  • Sujet : SQL-on-Hadoop
  • Date : 23 octobre 2015
  • Auteur : Guo Kai

Résumé

SQL-On-HADOOP est une classe des outils logiciels analytiques qui combinent les interrogations de SQL-style établies avec les composants du Hadoop data framwork récent.

Abstract

SQL-on-Hadoop is a class of analytical application tools that combine established SQL-style querying with newer Hadoop data framework elements.

Mots clefs

SQL, Hadoop, MapReduce, SQL Connecters, Hadoop Cluster, Data Node, Task Tracker, Name Node

Synthèse

Pourquoi SQL-on-Hadoop

La technologie Hadoop est conçue pour traiter les big data qui offre aux entreprises un moyen rentable pour stocker et analyser les données du grand nombre. Les entreprises cherchent à utiliser Hadoop pour augmenter leur entrepôt de données traditionnel. Par rapport aux solutions traditionnelles d'entrepôt de données, Hadoop peut se varier par rapport au matériel et peut être utilisé pour stocker les données structurées ainsi que les données non structurées. Entrepôts de données traditionnels basés sur les technologies de base de données relationnelles existent depuis longtemps et ont un ensemble d'outils matures pour la requête et l'analyse. Les utilisateurs professionnels utilisent SQL comme langage de requête pour exécuter des requêtes ad hoc au lieu des entrepôts existants. En outre, des outils de reporting comme Cognos, Business Objects, MicroStrategy comptent sur SQL lourdement. La valeur importante de Hadoop se réalise lorsque les utilisateurs peuvent accéder et effectuer des données ad-hoc requêtées directement sur Hadoop en utilisant des outils qui supportent SQL.

Introduction brève de Hadoop

Hadoop est un framework Java libre destiné à faciliter la création d'applications distribuées et échelonnables (scalables), permettant aux applications de travailler avec des milliers de nœuds et des pétaoctets de données. Hadoop a été inspiré par les publications MapReduce, GoogleFS et BigTable de Google.

Hadoop a été créé par Doug Cutting et fait partie des projets de la fondation logicielle Apache depuis 2009.

Hadoop consiste de Hadoop Common package qui fournit les abstractions du niveau du système de fichier et du niveau du système d'exploitation, le moteur de MapReduce (MapReduce/MR1 ou YARN/MR2) et le Hadoop Distributed File System (HDFS).

Fig. 1 : Architecture de Hadoop
  • MapReduce layer

MapReduce est un patron d'architecture de développement informatique, inventé par Google1, dans lequel sont effectués des calculs parallèles, et souvent distribués, de données potentiellement très volumineuses, typiquement supérieures en taille à 1 téraoctet.

MapReduce permet de manipuler de grandes quantités de données en les distribuant dans un cluster de machines pour être traitées.

Applications typically implement the Mapper and Reducer interfaces to provide the map and reduce methods. These form the core of the job. Les applications implémentent typiquement les interfaces Mapper et Reducer pour fournir les méthodes map et reduce qui forment le corps du job. 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). Les sous-problèmes sont ensuite traités par les différents nœuds à l'aide de la fonction Reduce qui à un couple (clé, valeur) associe un ensemble de nouveaux couples (clé, valeur) : map(clé1,valeur1) → list(clé2,valeur2)

Reducer

  • HDFS layer

Notes et Références