HBase数据查询之常规查询

简述

订单常规查询用到的字段可能有:店铺id、订单创建时间(不变量)、订单id、订单状态等等。

如下设计适用场景:a.dp_id+created段查询(+状态或者其他filter条件)

                            b.tid查询

表设计

分两张表:

1.用于常规查询表,rowkey:dp_id+created+tid   cf:status:value  cf:buyer_nick:value...。查询条件的必须输入项有:created开始时间和结束时间。可有可无项:cf(列簇)中的字段,用于filter过滤。该表属于长表,字段数不多,占存储不大。

   当dp_id不均衡时,可使用hash(dp_id)%regions的方法解决rowkey:hash(dp_id)%regions+dp_id+created+tid。

   建议输入的created时间段不要跨度太大,防止hbase scan的数据太多而影响查询效率。

2.订单详情表,rowkey:tid反转  cf:data:...。反转的目的是均衡region。



其他

建议使用spring for hadoop框架,该框架管理了hbase client资源,很多操作可以省略。参见http://projects.spring.io/spring-hadoop/Spring for Apache Hadoop

猜你喜欢

转载自lookqlp.iteye.com/blog/1993054