我可以将 3 个字符串的组合作为 HBase 中的行键吗?例如,X、Y 和 Z 值的组合标识一个唯一记录。
我将使用 Java 连接到 Hbase
你能告诉我这是否可能吗?
提前致谢。
我可以将 3 个字符串的组合作为 HBase 中的行键吗?例如,X、Y 和 Z 值的组合标识一个唯一记录。
我将使用 Java 连接到 Hbase
你能告诉我这是否可能吗?
提前致谢。
冒着微不足道的风险,将您的字符串与分隔符连接起来,以产生诸如“x|y|z”之类的东西。
HBase 不会阻止您这样做。尽管您可以使用任何字符作为分隔符,但请尝试使用不常见的字符,例如"~"或"^"。原因是,像“|”这样的字符 或“,”极有可能作为数据的一部分出现。
不过有几个建议:
高温高压
PS:获得这些类型查询答案的最佳方法是尝试一下。这是不应该超过几分钟的事情。
您可以使用 PrefixFilter 来实现。给定一个在实例化过滤器实例时指定的前缀,所有与该前缀匹配的行都将返回给客户端。构造函数是:
公共 PrefixFilter(byte[] 前缀)
例子 :
Filter filter = new PrefixFilter(Bytes.toBytes("9874541235^MOBILEDEVICE^MOBILESOURCE"));
这将为您提供所有以9874541235^MOBILEDEVICE^MOBILESOURCE 开头的行。
您可以使用分隔符,例如“|” 或 rowkeys 的长度前缀字符串。
您也可以参考 OpenTSDB 进行架构设计。