zoukankan      html  css  js  c++  java
  • 【HBase】rowkey、索引表设计

    总订单数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']
    
  • 相关阅读:
    异常流
    动手动脑7
    《大道至简七八章》
    接口与继承-动手动脑
    《大道至简第六章》读后感
    随机数存放到数组并求和
    《大道至简第五章》

    echo
    mount命令
  • 原文地址:https://www.cnblogs.com/BIG-BOSS-ZC/p/11807284.html
Copyright © 2011-2022 走看看