HBase数据仅在Key +复合键和&通配符

时间:2012-10-09 19:09:35

标签: hbase

以下是我的问题:

1)您是否尝试将所有数据仅放在rowkey中?我有非常小的行(但数百万)数据,需要将更多的数据实体组合在一起以使密钥唯一,所以我的想法是使用我需要存储在HBase中的所有东西来创建复合密钥。你试过吗,你认为可能是瓶颈/问题?应该考虑什么?我可以想象这将需要更多的RAM,因为我将有更多的东西放入布隆过滤器。

2)我只想要对此进行确认,因为我无法在此表单中找到它。至于我得到HBase,如果我有一个复合键,让我们说: key:k1_k2_x

我可以进行范围扫描以获得特定k1的所有k2条目,例如: 扫描“t1”,{STARTROW =>“k1 _”}

但是没有办法使用通配符并以某种方式获取特定k2的所有k1条目。我需要一个map / reduce作业或Hive或过滤器,对吧?

1 个答案:

答案 0 :(得分:0)

1)将所有数据放入行键完全正常。 HBase旨在支持这样的用例。

2)如果你想在k1和k2上进行范围扫描(或“通配符扫描”),我建议将数据存储在两个表中,如下所示:

  • table1:k1_k2_x
  • table2:k2_k1_x

这是重复数据,但对于进行所需的查询非常有效。

这是与HBase的权衡之一:您获得了非常大的扩展功能,但丢失了RDBMS功能,需要通过行键结构来设计有效的插入/查询方式。