0

我有一个看起来像这样的架构设计:

Table: User
    Row                Column Family
                       User
    u1                 User:name
                       User:mail

                       Table: Tags
                       Row                  Column
                       t1                   tag_id

所以,它是表中的表。我的问题是,如何使用 HBase shell 在表中添加表?我知道将值添加到特定列族中的列的“put”命令。但是,它使我无法在表格中添加表格。有谁知道如何做到这一点?

谢谢,利安德

6月25日更新,

谢谢塔里克!我以这种方式修复了它(受您的回答启发)

Table: User
u1                    User:name
                      User:mail
                      User:tags = ['t1', 't2', 't4']

Table: Tags
t1                    Tag:tag_id
                      Tag:users = ['u1', 'u2']
4

1 回答 1

0

这是不可能的。但是,您可以明智地设计架构以使其符合您的要求。例如,创建一个表“用户”,就像你展示的那样。然后再创建一个名为“标签”的表,其中包含一个列族“tag_id”。就像你指定的那样,为“用户”表创建行键上面和“标签”表通过将“t1”后缀添加到“u1”来创建行键,这样特定用户的所有标签都将转到同一行。所以你的键看起来有点像“abc+t1” ..这将帮助您有效地获取特定用户的标签..如果您发现它适合您的用例,请告诉我。

于 2012-06-21T22:02:43.910 回答