我有数据格式
timestame(long),useid(long),value(String)
我想把数据放到Hbase.And我必须每天扫描这个表。所以我打算设置rowkey是timestame。 如果我想在日期1和日期2中扫描,我将扫描rowkey r>日期1和rowkey r< DATE2。
但是rowkey稳定增加(例如:1352029502000,1352029502001,1352029502003 ......)插入非常慢。
在这种情况下,最好的hbase表架构是什么?
感谢。
答案 0 :(得分:0)
在处理时间戳或其他单调增加键时避免热点的常用方法是在其前面添加一些前缀(例如参见OpenTSDB schema。
您还可以添加任意键(比如时间戳中的最后一位数字)并获取任意分区(示例中为10)。
但请注意,当您添加前缀时,您必须扫描所有前缀,以便您的读取变得更复杂(但实际上map-reduce也会更好)