【HBase】rowkey、索引表设计

mac2024-10-20  63

总订单数1亿条 ->订单id,用户id,商品id集合,订单时间,订单完成时间,订单状态; HBase表设计: 主表 -> Rowkey: 用户ID_时间戳 列簇:info 索引表 -> https://www.2cto.com/database/201708/664664.html rowkey: 订单号 列簇:info:index value=主表的rowkey

注意点 用户id需要长度一致(索引表同理),如1要变换为"0000001". 那么rowkey为

0000001_1324324343 0000001_1648326442 0000002_1267867372 0000002_1474398648 0000002_1553762536 ...

这样才能用scan 'order',{STARTROW=>'0000001',ENDROW=>'0000002'}查询到用户0000001的所有订单信息

索引表其实是主表的值与rowkey的映射,为了加快查询效率。

预分区建表,目的是避免自动splits引起性能降低,影响读写效率。

hbase> create 't1', 'f1', SPLITS => ['2', '4', '6', '8']
最新回复(0)