Uploaded on

Couche de gestion des métadonnées pour Hadoop …

Couche de gestion des métadonnées pour Hadoop
par Rémy DUBOIS

More in: Art & Photos
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,304
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
65
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. HUG France #3 - 28 juin 2012 HCatalog Couche de gestion des métadonnées pour HadoopRémy DUBOISrdubois_at_talend.com 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/
  • 2. Agenda• Qu’est que HCatalog?• HCatalog dans l’écosystème d’Hadoop • « How to » sans HCatalog • « How to » avec HCatalog• HCatalog par l’exemple• Le futur de HCatalog• Q/A 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/
  • 3. HCatalog?• Projet dans l’incubateur d’Apache• Service de gestion de table et de stockage de données qui permet: • D’enregistrer et de partager le schéma des données. • D’ignorer où et comment est stockée la donnée. • Une interopérabilité entre les différents outils de transformation autour d’Hadoop.• La version 0.4 est disponible dans Hortonworks Data Platform V1.0 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/
  • 4. Différents outils de transformation • Early adopters Map/Reduce • Orienté performance • ETL Pig • Data modeling • Algorithmes itératifs • Analyses Hive • Connecteurs vers des outils de BI. Choix du meilleur outils pour un cas d’utilisation donné. Difficile pour les utilisateurs de partager leurs données.
  • 5. Comparaison des outils Map/Reduce Pig Hive Record format Key/Value pairs Tuples Record Data model User defined int, float, string, int, float, string, maps, bytes, maps, tuples, structs, lists bags Schema Encoded in app Declared in script or Read from metadata read by loader Data location Encoded in app Declared in script Read from metadata Data format Encoded in app Declared in script Read from metadata • Les utilisateurs Pig et MR doivent connaître beaucoup d’information pour écrire leurs applications. • Quand le schéma de donnée, l’emplacement, ou le format changent, les applications Pig et MR doivent être re-écrites, re-testées et re-déployées. • Les utilisateurs Hive doivent charger les données de PIG/MR pour y avoir accès. 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/
  • 6. L’Ecosystème d’Hadoop MapReduce Hive Pig SerDe InputFormat/ InputFormat/ Load/ Metastore Client OuputFormat OuputFormat Store HDFS Metastore 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/
  • 7. L’ouverture des métadonnées à Pig et MR MapReduce Hive Pig HCatInputFormat/ HCatLoader/ HCatOuputFormat HCatStorer SerDe InputFormat/ Metastore Client OuputFormat HDFS Metastore © Hortonworks 2012 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/
  • 8. Comparaison des outils avec HCatalog Fonctionnalité Map/Reduce + HCat Pig + HCat Hive Record format Record Tuples Record Data model int, float, string, maps, int, float, string, bytes, int, float, string, maps, structs, lists maps, tuples, bags structs, lists Schema Read from metadata Read from metadata Read from metadata Data location Read from metadata Read from metadata Read from metadata Data format Read from metadata Read from metadata Read from metadata• Les utilisateurs Pig/MR peuvent lire le schéma depuis les métadonnées.• Les utilisateurs Pig/MR n’ont plus à se soucier ni de l’emplacement des données, ni du format des données.• Accès aux données des autres utilisateurs dès qu’elles sont commitées. 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/
  • 9. Un exemple avec PigImaginons que nous voulons compter le nombre de fois qu’un utilisateur a visitéchaque URL:raw = load /data/rawevents/20120530 as (url, user);botless = filter raw by myudfs.NotABot(user);grpd = group botless by (url, user);cntd = foreach grpd generate flatten(url, user), COUNT(botless);store cntd into /data/counted/20120530;Avec HCatalog:raw = load rawevents using HCatLoader();botless = filter raw by myudfs.NotABot(user) and ds == 20120530;grpd = group botless by (url, user);cntd = foreach grpd generate flatten(url, user), COUNT(botless);store cntd into counted using HCatStorer(); 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/
  • 10. Une API REST pour HCatalog: TEMPLETON• REST Endpoints: accès aux informations: • Des bases de données • Des tables • Des partitions • Des colonnes• Opérations REST: • PUT pour créer des objets ou les mettre à jour. • GET pour lister des objets ou les décrire. • DELETE pour supprimer des objets. GET http://hostname:50111/templeton/v1/ddl/database/default/table Hadoop/ HCatalog { "tables": ["counted","processed",], "database": "default“ } 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/
  • 11. #3 HUG France 28 juin 2012 Démonstration 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/
  • 12. #3 HUG France 28 juin 2012 Le futur de HCatalog 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/
  • 13. Lire et écrire les données en parallèle• Ce que veulent les utilisateurs: • Lire et écrire leurs enregistrements en parallèle entre Hadoop et leur système parallèle. • Indépendamment du langage. • Sans connaissance particulière sur le format des fichiers Hadoop.• Ce qui existe aujourd’hui: • WebHDFS • Peut traiter les données en parallèle. • Indépendant du langage. • Ne traite que les bytes et ne comprend pas les formats Hadoop. • Sqoop • Peut traiter les données en parallèle. • Comprend les différents formats des fichiers Hadoop. • Requiert un connecteur JDBC. 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/
  • 14. HCatReader et HCatWriter getHCatReaderInput splits Master HCatalog HCatReader read Slave Iterator<HCatRecord> read Slave Iterator<HCatRecord> HDFS read Slave Iterator<HCatRecord> 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/
  • 15. Hive JDBC/ODBC aujourd’hui Issue: Nécessité d’avoir le code Hive sur le client JDBC Client Hive Server Hadoop Issues: •Concurrence •Sécurité •Extensibilité ODBC Client Issue: La version Open Source n’est pas simple à utiliser 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/
  • 16. Proposition ODBC/JDBC JDBC ClientFournissent des implémentations REST ServerOpen Source robustes Hadoop • Crée le job à l’intérieur du cluster. • Exécute le job avec les droits de l’appelant. • Supporte la sécurité ODBC Client 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/
  • 17. #3 HUG France 28 juin 2012 Questions 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/