0
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’UtilisationCommercial...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commercia...
Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’UtilisationCommercial...
Upcoming SlideShare
Loading in...5
×

Une introduction à Hive

2,695

Published on

A l'occasion de Solution Linux 2013 nous présentons Hadoop à la communauté en France. Ici une introduction à Hive.

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,695
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
135
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "Une introduction à Hive"

  1. 1. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’UtilisationCommerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/HUG France SL2013 – Mai 2013Introduction à HIVEHadoop comme Entrepôt de donnéesCharly CLAIRMONTAltic - http://altic.orgcharly.clairmont@altic.org@egwada
  2. 2. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Doù vient Hive ?● Chez Facebook manipulation dune quantitémonstre des données chaque jour● Avoir des alternatives à● MapReduce● Pig● Rentabiliser les ingénieurs qui connaissent etmaîtrisent SQL !
  3. 3. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Cest quoi Hive ?Une infrastructure pour Entrepôt deDonnéeson peut tout simplement le considérercomme un Data Warehouse !
  4. 4. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Comment ça marche ?● Hive a pour fondation Hadoop● Hive stocke ses données dans HDFS● Hive compile des requêtes SQL en jobsMapReduce et les exécute sur le clusterHadoop
  5. 5. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Hive structure la donnée dans un modèle bienconnu : Tables, colonnes, lignes...
  6. 6. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Hive architecture, composantsHDFSDDL QueriesBrowsingMapReduceMetaStoreThrift APISerDeThrift Jute JSON..ExecutionDriverParserPlannerDBWebUIOptimizerJDBC ODBCCLI
  7. 7. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Hive Architecture, détail composants (1)● Interface Externe● fournit deux sortes dinterfaces– utilisateur● commande line (CLI)● WEB– programmation (API)● JDBC, ODBC● Thrift Server expose une API très simple pour exécuter les requêtes HiveQL● Metastore est un catalogue.● Tous les autres composants de Hive interagissent avec le Metastore.
  8. 8. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Hive Architecture, détail composants (2)● DriverGère le cycle de vie des requêtes HiveQL durant leurcompilation, leur optimisation, et leur exécution● CompilerTransforme les requêtes en un plan qui constitue unesuite de DAG de job MapReduceLe Driver soumet les jobs mapReduce individuels depuisle DAG vers le moteur dexécution selon une séquence
  9. 9. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Hive Architecture, détail composants (3)● Le Metastore est un catalogue qui contient lesmetadonnées des tables stockées dans Hive● Database : espace de nom pour les tables● Table : Métadonnées des tables qui contiennent la listedes colonnes, leur types, leurs propriétaires, leuremplacements de stockages et les informations desérialisation● Partition : chaque partition peut avoir ses proprescolonnes, son stockage et sa sérialisation● Buckets : découpage des partitions (optimisation pourles jointures)
  10. 10. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Cycle de vie dune requête● Parser transfome la requête en arbre● Semantic Analyzer transforme larbre en unereprésentation interne de la requête par bloc● Logical Plan Generator convertit la représentationinterne en un plan logique, cest-à-dire un arbredopérations logiques● Optimizer parcourt plusieurs fois le plan logiquedopérations pour le rendre plus performant● Physical Plan Generator convertit le plan logique enun plan physique de DAG de job mapReduce
  11. 11. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/HiveQL, SQL pour Hive● HiveQL supporte● DDL (Create, Alter, Drop)● DML (load, Insert,Select)● Fonction utilisateurs● Appel à des programmes externe MapReduce
  12. 12. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Création de tablesSHOW TABLES;CREATE TABLE shakespeare (freq INT, word STRING)ROW FORMATDELIMITED FIELDS TERMINATED BY ‘t’STORED AS TEXTFILE;DESCRIBE shakespeare;
  13. 13. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Chargement de données depuis HDFSLOAD DATA LOCAL INPATH ‘/logs/status_updates’INTO TABLE status_updates PARTITION (ds=’2013-05-28’);
  14. 14. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale- Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/Sélection / Insertion résultatFROM (SELECT a.status, b.school, b.genderFROM status_updates aJOIN profiles b ON (a.userid = b.userid and a.ds=’2013-05-28’ )) subq1INSERT OVERWRITE TABLE gender_summary PARTITION(ds=’2013-05-28’)SELECT subq1.gender, COUNT(1) GROUP BY subq1.genderINSERT OVERWRITE TABLE school_summary PARTITION(ds=’2009-05-28’)SELECT subq1.school, COUNT(1) GROUP BY subq1.school
  15. 15. Ce support est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’UtilisationCommerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/HUG France SL2013 – Mai 2013Introduction à HIVEMerci !Charly CLAIRMONTAltic - http://altic.orgcharly.clairmont@altic.org@egwada
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×