2011-09-15 4 views
0

Je souhaite avoir des clés hiérarchiques comme: app:page:user:item = value (où : indique une concaténation avec un délimiteur). Je comprends que je peux trouver rapidement tous les éléments que cet utilisateur a modifiés dans l'application donnée: domaine de la page. Mais maintenant supposons que je veux juste une liste de toutes les pages dans une application (en ignorant les choses aux niveaux inférieurs de la hiérarchie). Aurai-je besoin de parcourir tout ce qui se trouve dans les niveaux inférieurs de la hiérarchie pour obtenir ce dont j'ai besoin?Balayage de clé hiérarchique HBase

+0

Vous pouvez ajouter des filtres à votre scanner de sorte que le filtrage se fasse du côté HBase. Devrait réduire la quantité de données envoyées à travers le fil à votre client et accélérer les choses. – cftarnas

Répondre

1

Oui, sauf si vous générez également des enregistrements entrés uniquement sur l'application avec des valeurs indiquant les pages qui existent dans cette application. Vous pouvez faire quelque chose comme ça dans HBase lui-même si vous avez une compilation avec des coprocesseurs, sinon vous devez le faire dans votre application ou en traitement par lots.

Une autre alternative est de créer ces enregistrements la première fois (en analysant toutes les lignes dans l'application) vous pouvez les résultats et les enregistrer dans le même ou une autre table.