Groupe par Dans HBase
Presque, je ne sais rien à propos de HBase. Désolé pour les questions de base.
Imaginer que j'ai un tableau de 100 milliards de lignes avec 10 int, un datetime, et une colonne de type chaîne.
- Ne HBase permettre l'interrogation de ce tableau et du Groupe le résultat basé sur la touche (même une clé composite)?
- Si oui, a-t-elle pour exécuter un travail map/reduce?
- Comment nourrir la requête?
- Peut HBase, en général, en temps réel, comme des requêtes sur une table?
OriginalL'auteur iCode | 2012-02-03
Vous devez vous connecter pour publier un commentaire.
L'agrégation de données dans HBase croise la "analyse en temps réel besoin. Alors que HBase est pas construit pour ce type de fonctionnalité, il ya beaucoup de besoin. Ainsi, le nombre de façons de le faire est /sera développé.
1) : Inscrivez-vous HBase tableau externe au tableau dans la Ruche et de faire des agrégations. Les données seront accessibles via HBase API ce qui n'est pas très efficace. La configuration de la Ruche avec Hbase c'est la discussion sur la façon dont il peut être fait.
Il est le plus puissant de groupe par HBase de données. Il n'implique l'exécution de M. emplois, mais par HHive, pas par HBase.
2) Vous pouvez écrire vous même MONSIEUR le travail avec HBase données assis dans HFiles dans le HDFS. Il sera le plus efficace, mais pas simple de données et de traitement serait un peu rassis. Il est le plus efficace, puisque les données ne seront pas transmises via HBase API - au lieu de cela, il sera accède à droite de HDFS dans l'ordre séquentiel.
3) la Prochaine version de HBase contiendra les coprocesseurs qui serait en mesure de les agrégations à l'intérieur des régions spécifiques. Vous pouvez assumer d'être un genre de procédures stockées dans le SGBD mot.
4) Dans la mémoire, de l'Inter-région MONSIEUR le travail qui sera parralelized dans un nœud est également prévu dans le futur HBase versions. Il permettra un peu plus avancée de traitement analytique puis coprocesseurs.
Et aussi, si j'ai besoin de le faire aujourd'hui, c'est la réponse alors est qu'il n'existe aucun moyen pratique de le faire encore? Comme 1 est lente, 3 et 4 sont l'avenir et la 2 est vraiment difficile?
Oui, ma réponse signifie qu'aujourd'hui il n'y a aucun moyen de le faire en temps réel. Lors de la prochaine version (appelée coprocesseurs de presse) seront disponibles, nous aurons realt temps agrégations au niveau de la région.
Merci.et un de plus de précisions, n'HBase soutien GroubBy à tous à ce point?
Il n'a pas, autant que je sache
OriginalL'auteur David Gruzman
RAPIDE LECTURES ALÉATOIRES = PRÉ données assis dans HBase!
Utilisation Hbase pour ce que c'est...
1. Un endroit pour stocker beaucoup de données.
2. Un endroit à partir duquel vous pouvez faire super rapide lit.
3. Un endroit où SQL n'est pas va vous faire du bien (l'utilisation de java).
Bien que vous pouvez lire des données à partir de HBase et de faire toutes sortes d'agrégats droit en Java structures de données avant de vous renvoyer à votre agrégées conséquent, de son mieux pour laisser le calcul de mapreduce. À partir de vos questions, il me semble que si vous voulez la source de données pour le calcul de siéger dans HBase. Si c'est le cas, la route que vous voulez prendre est de les avoir HBase comme source de données pour un travail de mapreduce. Faire des calculs sur des qui et retourner les données agrégées. Mais alors, pourquoi voulez-vous lire de Hbase pour exécuter un travail de mapreduce? Il suffit de laisser les données assis HDFS/Ruche de tables et d'exécuter des tâches mapreduce sur eux PUIS charger les données de tables Hbase "pré-établi", de sorte que vous pouvez le faire super rapide lectures aléatoires.
OriginalL'auteur Horse Voice
Une fois que vous avez la preaggregated données HBase, vous pouvez utiliser Crux http://github.com/sonalgoyal/crux de forage supplémentaires, tranche et dés votre HBase de données. Crux prend en charge composite et une simple clé, avec des filtres avancés et de groupe.
OriginalL'auteur Sonal Goyal