我可以将3个字符串组合为HBase中的行键吗?例如,X,Y和Z值的组合标识一个唯一的记录。在hbase中使用分隔的rowkey
我会使用Java
能否请你让我知道这是可能被连接到HBase的?
在此先感谢。
我可以将3个字符串组合为HBase中的行键吗?例如,X,Y和Z值的组合标识一个唯一的记录。在hbase中使用分隔的rowkey
我会使用Java
能否请你让我知道这是可能被连接到HBase的?
在此先感谢。
随着风险变得微不足道,可以将字符串与分隔符连接起来,以产生类似“x | y | z”的内容。
您可以使用分隔符,如'|'或用于行键的长度前缀字符串。
你也可以参考OpenTSDB的schema design。
HBase不会阻止你这样做。虽然你可以使用任何字符作为分隔符,但可以尝试使用不常见的东西,比如“〜”或“^”。原因是,字符如“|”或“,”很可能作为数据的一部分出现。
一对夫妇的建议,但:
HTH
附: :获得这些类型查询的答案的最佳方法是尝试它。这应该不会超过几分钟。
您可以使用PrefixFilter来实现。给定一个前缀,在实例化过滤器实例时指定,与此前缀匹配的所有行将返回给客户端。的构造是:
公共PrefixFilter(字节[]前缀)
实施例:
过滤滤波器=新PrefixFilter(Bytes.toBytes( “9874541235 ^移动设备^ MOBILESOURCE”));
这会给你所有以9874541235^MOBILEDEVICE^MOBILESOURCE开头的行。
根据我的要求,我实际上应该使用密钥作为电话号码(10位数字),至少8个字符的代码和8个代码字符的另一个代码。所以我的钥匙就像9874541235^MOBILEDEVICE^MOBILESOURCE。不幸的是,我不得不使用这个组合作为关键字,因为只有这些组合形成一个唯一的关键。请给我建议 – priya
看起来还行:) – Tariq
嗨我有一个问题,使用9874541235^MOBILEDEVICE^MOBILESOURCE作为一个关键。这不是一个独特的价值。 9874541235^MOBILEDEVICE^MOBILESOURCE^VALUE的组合是一个独特的关键。但问题是,当我试图检索信息时,我将只有9874541235^MOBILEDEVICE^MOBILESOURCE作为请求。你有什么建议如何设计相同? – priya