【发布时间】:2014-10-11 21:51:34
【问题描述】:
我试图了解为我的 HBase 表设计密钥的最佳方式。
我的用例:
现在的结构
个人ID |批次日期 |个人JSON
当修改有关人员的某些内容时,会将新的 PersonJSON 和新的批处理日期插入 Hbase 以更新旧记录。每 4 小时扫描一次所有被修改的人,然后将其推送到 Hadoop 进行进一步处理。
如果我的密钥只是 personID,它非常适合更新数据。但是我的表现很糟糕,因为我必须在 BatchData 列上添加一个过滤器来扫描所有大于批处理日期的行。
如果我的键是像 BatchDate|PersonID 这样的复合键,我可以在行键上使用 startrow 和 endrow 并获取所有已修改的行。但是我会有很多重复的,因为密钥不是唯一的并且不能再更新一个人。
row+col (personid+batchdate) 上的布隆过滤器是一个选项吗?
感谢任何帮助。 谢谢, 阿布舍克
【问题讨论】:
标签: hadoop hbase bloom-filter