À quoi sert hcatalog dans hadoop?

je suis nouveau à hadoop.Je sais que le HCatalog est une couche de gestion de table et de stockage pour Hadoop. Mais exactement comment il fonctionne et comment l'utiliser. Veuillez donner quelques exemple simple.

17
demandé sur Vijay_Shinde 2014-03-20 17:00:47

5 réponses

HCatalog supporte la lecture et l'écriture de fichiers dans n'importe quel format pour lequel un SerDe de Ruche (serializer-deserializer) peut être écrit. Par défaut, HCatalog prend en charge les formats RCFile, CSV, JSON et SequenceFile. Pour utiliser un format personnalisé, vous devez fournir les InputFormat, OutputFormat, et SerDe.

HCatalog est construit sur le haut du métastore De La Ruche et incorpore des composants du DDL De La Ruche. HCatalog fournit des interfaces de lecture et d'écriture pour Pig et MapReduce et utilise la ligne de commande de Hive interface pour l'émission de commandes de définition de données et d'exploration de métadonnées.

il présente également une interface REST pour permettre aux outils externes d'accéder aux opérations DDL (langage de définition des données) de la ruche, telles que "create table" et "describe table".

HCatalog présente une vue relationnelle des données. Les données sont stockées dans des tableaux et ces tableaux peuvent être placés dans des bases de données. Les tableaux peuvent également être partitionnée sur une ou plusieurs touches. Pour une valeur donnée d'une clé (ou un ensemble de touches) il y aura un partition qui contient toutes les lignes avec cette valeur (ou ensemble de valeurs).


Edit: la plupart du texte provient de https://cwiki.apache.org/confluence/display/Hive/HCatalog+Usinginghcat.

8
répondu Mayank Agarwal 2016-06-09 21:36:11

en bref, HCatalog ouvre les métadonnées de la ruche à d'autres outils mapreduce. Chaque outil mapreduce a sa propre notion des données HDFS (par exemple, Pig voit les données HDFS comme un ensemble de fichiers, Hive les voit comme des tableaux). Avec l'abstraction basée sur la table, les outils MapReduce supportés par HCatalog n'ont pas besoin de se soucier de l'endroit où les données sont stockées, dans quel format et l'emplacement de stockage (HBase ou HDFS).

nous obtenons la facilité de WebHcat pour soumettre des travaux D'une manière RESTful si vous configurez webhcat le long de Hcatalog.

37
répondu Prabu Soundar Rajan 2014-11-11 11:46:50

voici un exemple très basique de la façon dont ho utilise HCATALOG.

j'ai une table dans la ruche ,le NOM de la TABLE est l'ÉTUDIANT qui est stocké dans l'un des HDFS emplacement:

neethu 90 malini 90 sunitha 98 mrinal 56 ravi 90 joshua 8

supposons maintenant que je veuille charger ce tableau sur le cochon pour une transformation ultérieure des données, Dans ce scénario, je peux utiliser HCATALOG:

lors de l'utilisation des informations de table de la ruche métastore avec Pig, ajouter l'option-useHCatalog lors de l'invocation cochon:

pig -useHCatalog

(vous pouvez les exporter HCAT_HOME 'HCAT_HOME=/usr/lib/ruche-hcatalog/')

maintenant, chargez cette table sur le cochon: A = LOAD 'student' USING org.apache.hcatalog.pig.HCatLoader();

Maintenant vous avez chargé la table à cochon.Pour vérifier le schéma, il suffit de faire une description sur la relation.

DESCRIBE A

Merci

25
répondu Neethu 2015-03-23 20:35:07

ajouter d'autres grands messages je voudrais ajouter une image pour la compréhension claire de comment HCatalog œuvres et la couche sur laquelle il est assis dans le groupe

how <codeHCatalog</code works and where it sits in cluster

Q: Comment cela fonctionne-t-il exactement?

Comme vous l'avez mentionné " HCatalog est une couche de gestion de table et de stockage pour Hadoop