2012-04-09 4 views
1

Im essayant de stocker une liste, une collection d'objets de données dans Hbase. Par exemple, une table utilisateur où l'userId est le RowKey et la famille de la colonne Contacts avec colonne Contacts: EmailIds où EmailIds est une liste des e-mails commeStocker les données de liste dans Hbase?

{[email protected],[email protected]} 

Comment pouvons-nous modélisons cela en Hbase? Comment faire cela en Java?/Python? J'ai essayé de décoder et décompacter des données en Python mais c'est une solution que je ne veux pas utiliser en raison de problèmes de performance.

Répondre

3

Vous pouvez l'utiliser de la manière suivante:

 
| userid | contacts            | 
| test | c:[email protected]; c:[email protected] | 

ou

 
| userid | contacts            | 
| test | c:[email protected]=1; c:[email protected]=2   | 

De cette façon, vous pouvez utiliser versioning, ajouter/supprimer autant d'adresses e-mail que vous le souhaitez, utiliser des filtres, et il est vraiment facile de parcourir ces paires KV dans le code client

+1

mais quelle serait une bonne approche pour stocker une collection d'enregistrements complexes, c'est-à-dire des enregistrements qui ont plusieurs champs? Par exemple, les adresses ayant chacune une ville, un état, etc. – Ruslan