Database hbase为一个键存储多个值

Database hbase为一个键存储多个值,database,hbase,Database,Hbase,如何在hbase中为一个人存储多个电子邮件和电话号码? 或存储多个成员和帐户。。。。为了一个团体? 在cassandra中,有“set”数据类型可以做到这一点,但在其中搜索是个问题。如何在hbase中为一个键实现多值 例如,我们想要存储个人信息 个人|电子邮件|电话号码 a|a@hotemail.com,a@gmail.com|323232,42526672 b|b@gmail.com|545465464,46467464 我可以给出一个“不够好”的解决方案: 您可以保存电子邮件、电话。。。信

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

例如,我们想要存储个人信息

  • 个人
    |
    电子邮件
    |
    电话号码
  • a
    |
    a@hotemail.com
    a@gmail.com
    |
    323232
    42526672
  • b
    |
    b@gmail.com
    |
    545465464
    46467464
我可以给出一个“不够好”的解决方案:

您可以保存电子邮件、电话。。。信息作为限定符,“电子邮件”,“用户”字符串作为值

像这样:

a@gamil.com email
b@gamil.com email
3242 phone
然后添加/删除只是一个put/delete操作,而更新可以作为delete+add操作来完成。“仅获取”操作有点麻烦,需要手动按行键获取和按值过滤


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

需要更多详细信息的示例数据。person id->可以为同一行键提供多个值。这在hbase中是天然的。你到底在找什么?我想为一个人存储多封电子邮件,也为他存储多个电话号码,例如person1有两封电子邮件和一个电话号码,Person2有三封电子邮件和两个电话号码这在hbase中是可能的,如上面的格式所示,您有一列电子邮件,并且您的电子邮件存储了多个以逗号分隔的电子邮件ID。这里有什么问题?我认为它在阅读、更新或添加电子邮件方面没有很好的性能我写这种格式来解释我的问题谢谢你的回答所以当我想使用hive或phoenix进行查询并且必须映射列并知道列的名称时,我应该怎么做?