hbase的查询实现只提供两种方式:
按指定owKey 获取惟一一条记录, get方法(org.apache.hadoop.hbase.client.Get)。
Get 的方法处理分两种:设置了 ClosestRowBefore 和没有设置的 rowlock,主要是用来保证行的事务性,即每一个 get 是以一个 row 来标记的,一个 row 中能够有不少 family 和 column。
按指定的条件获取一批记录, scan 方法(org.apache.Hadoop.hbase.client.Scan)实现条件查询功能使用的就是 scan 方式。
scan 能够经过 setCaching 与 setBatch 方法提升速度(以空间换时间)。
scan 能够经过 setStartRow 与 setEndRow 来限定范围([start, end]start 是闭区间, end 是开区间)。范围越小,性能越高。
scan 能够经过 setFilter 方法添加过滤器,这也是分页、多条件查询的基础。