Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Une introduction à Hive

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 15 Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Les utilisateurs ont également aimé (20)

Publicité

Similaire à Une introduction à Hive (20)

Plus par HUG France (20)

Publicité

Une introduction à Hive

  1. 1. 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/ HUG France SL2013 – Mai 2013 Introduction à HIVE Hadoop comme Entrepôt de données Charly CLAIRMONT Altic - http://altic.org charly.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/ D'où vient Hive ? ● Chez Facebook manipulation d'une quantité monstre des données chaque jour ● Avoir des alternatives à ● MapReduce ● Pig ● Rentabiliser les ingénieurs qui connaissent et maî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/ C'est quoi Hive ? Une infrastructure pour Entrepôt de Données on peut tout simplement le considérer comme 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 jobs MapReduce et les exécute sur le cluster Hadoop
  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 bien connu : 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, composants HDFS DDL QueriesBrowsing MapReduce MetaStore Thrift API SerDe Thrift Jute JSON.. Execution Driver Parser Planner DB WebUI Optimizer JDBC 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 d'interfaces – 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) ● Driver Gère le cycle de vie des requêtes HiveQL durant leur compilation, leur optimisation, et leur exécution ● Compiler Transforme les requêtes en un plan qui constitue une suite de DAG de job MapReduce Le Driver soumet les jobs mapReduce individuels depuis le DAG vers le moteur d'exé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 les metadonnées des tables stockées dans Hive ● Database : espace de nom pour les tables ● Table : Métadonnées des tables qui contiennent la liste des colonnes, leur types, leurs propriétaires, leur emplacements de stockages et les informations de sérialisation ● Partition : chaque partition peut avoir ses propres colonnes, son stockage et sa sérialisation ● Buckets : découpage des partitions (optimisation pour les 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 d'une requête ● Parser transfome la requête en arbre ● Semantic Analyzer transforme l'arbre en une représentation interne de la requête par bloc ● Logical Plan Generator convertit la représentation interne en un plan logique, c'est-à-dire un arbre d'opérations logiques ● Optimizer parcourt plusieurs fois le plan logique d'opérations pour le rendre plus performant ● Physical Plan Generator convertit le plan logique en un 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 tables SHOW TABLES; CREATE TABLE shakespeare (freq INT, word STRING) ROW FORMAT DELIMITED 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 HDFS LOAD 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ésultat FROM ( SELECT a.status, b.school, b.gender FROM status_updates a JOIN profiles b ON (a.userid = b.userid and a.ds=’2013-05-28’ ) ) subq1 INSERT OVERWRITE TABLE gender_summary PARTITION(ds=’2013-05-28’) SELECT subq1.gender, COUNT(1) GROUP BY subq1.gender INSERT 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’Utilisation Commerciale - Pas de Modification 2.0 France. - http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ HUG France SL2013 – Mai 2013 Introduction à HIVE Merci ! Charly CLAIRMONT Altic - http://altic.org charly.clairmont@altic.org @egwada

×