Hue 2.5 est livré avec une autre nouvelle application pour rendre Apache Hadoop plus facile à utiliser: HBase Browser pour Apache HBase, la principale base de données clé/valeur pour Hadoop. Cet article est le premier épisode d'une série de 3 décrivant la nouvelle expérience utilisateur apportée par l'application. Nous allons commencer par vous décrire comment créer des tables d'échantillons avec différents schémas de HBase.
Tutoriel
Lors de la construction du nouveau navigateur de HBase, nous avons voulu tester l'application sur différentes tables de HBase. Il est difficile de trouver sur Internet un schéma et des données prêt à utiliser. Par conséquent, basé sur les cas de utilisations les plus courantes, nous avons créé nos nos propres schémas de HBase et avons décidé de les partager afin d'aider tous ceux qui souhaitent commencer avec HBase.
Ce how-to décrit comment créer une table très simple qui compte le nombre de votes par candidat par jour. Ensuite, la partie 2 se concentre sur la création d'une table HBase avec beaucoup de colonnes et la partie 3 sur l'insertion et la visualisation de données binaires.
Configuration
L'application Navigateur HBase est adaptée pour la navigation rapidement sur d’énormes tables et pour accéder à n'importe quel contenu. Vous pouvez également créer de nouvelles tables, ajouter des données, modifier des cellules existantes et filtrer les données avec la barre de recherche autocompletant.
La première étape consiste à installer HBase dans votre cluster Hadoop. Nous vous recommandons d'utiliser les paquets CDH . HBase navigateur nécessite le service Thrift 1 démarré.
Ensuite, prenez l'application à partir d'une version{.trackLink} de Hue ou avec la version du pacquet . CDH 4.4 (arrivant début Septembre) apportera une v1 stable. Après l'installation, si le HBase master ne fonctionne pas sur le même hôte que Hue, il faut pointer l'application vers lui en mettant à jour le hue.ini et redémarrer Hue.
Ensuite, allez à http://127.0.0.1:8888/hbase/ pour vérifier que tout est correctement configuré! Nous montrons dans la vidéo comment créer une table et ajouter des colonnes en seulement quelques clics. Dans les étapes suivantes, nous montrons comment créer et remplir un véritable exemple de table.
Les données et les scripts exemples sont publiés sur github . Dans un terminal, utiliser git pour récupérer le dépôt:
cd / tmp git clone https://github.com/romainr/hadoop-tutorials-examples.git cd HBASE-tables
Table d'analyse
Les objectifs de ces données est de montrer la recherche et la disposition intelligente dans HBase Browser.
Cette table contient plus de 1000 colonnes de texte. L'idée est d'avoir des compteurs pour 3 domaines Web de 3 pays pour chaque heure de la journée. Les données sont ensuite agrégées par jour et pour tous les pays.
Schéma de la table
Comment faire pour créer la table HBase et insérer quelques données:
-
Générer des noms de colonnes et des données avec create_schemas.py . Lancez-le avec ./create_schemas.py
-
Uploader les données date /tmp/hbase-analytics.tsv à HDFS avec l'explorateur de fichiers
-
Avec HBase Browser créer la table un “Analytics” avec 3 colonnes family “hour”', “day”,“total”
-
Charger les données dans la table avec la commande d'importation en vrac de HBase .
Ceci va déclencher un job MapReduce et afficher la progression de l'importation.
C'est tout! Allez ouvrir la table d'analyse dans le navigateur HBase !
Table binaire
Cette seconde tableaux portent principalement sur les cellules de données de grandes, de divers formats, ce qui démontre la prévisualisation et l’édition de données dans HBase Browser.
Nous utilisons l'API de l'application pour insérer dans HBase certaines cellules de différents types de contenu, par exemple du texte, du JSON, des photos, du binaires …
-
D'abord créer une table «event» avec une colonne family ‘doc’.
-
Puis cd dans le répertoire racine de Hue
-
cd /usr/share/hue
-
/opt/cloudera/parcels/CDH-4.X/share/hue (si vous utilisez les parcels)
Et aller dans le shell build/env/bin/hue shell et lancer locad_binary.py:
Avec l'API HBase insérer des données textuelles:
from hbase.api import HbaseApi HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:txt': 'Hue is awesome!'}) HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:json': '{"user": "hue", "coolness": "extra"}'}) HbaseApi().putRow('Cluster', 'events', 'hue-20130802', {'doc:version': 'I like HBase'}) HbaseApi().putRow('Cluster', 'events', 'hue-20130802', {'doc:version': 'I LOVE HBase'})
Ensuite, insérer une image, et une page HTML et PDF:
root='/tmp/hadoop-tutorials-examples' HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:img': open(root + '/hbase-tables/data/hue-logo.png', "rb").read()}) HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:html': open(root + '/hbase-tables/data/gethue.com.html', "rb").read()}) HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:pdf': open(root + '/hbase-tables/data/gethue.pdf', "rb").read()})
Notez que les noms de colonnes ne comptent pas pour la détection de type. Allez voir la table “events” et jouer avec!
Conclusion
Ces deux schémas et de données permettent à l'utilisateur de facilement démarrer avec HBase. Cette première version de HBase Browser apporte une nouvelle façon d'explorer rapidement et rechercher des lignes et des colonnes. Les nouvelles versions supporteront des bulks loads afin de libérer complètement l'utilisateur de la ligne de commande.
La nouvelle application de navigation de HBase sera démo-ée sur ces deux tableaux dans les prochains posts, alors restez branchés!