hbase为一个密钥存储多个值

时间:2017-04-15 04:22:13

标签: database hbase

如何在hbase中为一个人存储多个电子邮件和电话号码? 或者存储多个成员和帐户....对于一个群组? 在cassandra中有“set”数据类型可以做到这一点,但搜索就是问题。如何在hbase中为一个键实现多个值?

例如我们想存储个人信息

  • person | email | phone number
  • a | a@hotemail.coma@gmail.com | 32323242526672
  • b | b@gmail.com | 54546546446467464

1 个答案:

答案 0 :(得分:0)

我可以给出一个“不够好”的解决方案:

您可以将电子邮件,手机...信息保存为限定符,将“用户”字符串保存为值。

像这样:

a@gamil.com email
b@gamil.com email
3242 phone

然后添加/删除只是一个放/删操作,更新可以作为删除+添加操作完成。只有获取操作有点麻烦,你需要通过rowkey并手动过滤值。

另一个缺点是人们不能拥有与手机和电子邮件相同的字符串,但我认为这并没有太大影响。