分享

phoenix创建hbase表的主键问题

kanwei163 发表于 2016-12-7 10:54:27 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 8044
create table "abc"."test_keys" ("createTime" date not null, "wara_house" integer not null constraint pk primary key("createTime", "wara_house"));

上面通过phoenix创建hbase表,指定了pk的构成,pk应该是hbase中的rowkey吧,就是时间+wara_house,时间在前面,那么就等于,rowkey是一致性递增的了,这样往里面插入一致性递增的rowkey数据,难道不会导致region的热点问题,导致region的不饱和分布?

已有(2)人评论

跳转到指定楼层
kanwei163 发表于 2016-12-7 11:21:23
up+啊,自己顶
回复

使用道具 举报

qcbb001 发表于 2016-12-7 12:08:24

如果Rowkey是按时间戳的方式递增,不要将时间放在二进制码的前面,建议将Rowkey的高位作为散列字段,由程序循环生成,低位放时间字段,这样将提高数据均衡分布在每个Regionserver实现负载均衡的几率。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条