1. 首页
  2. 大数据
  3. 其他

描述 HBase 中 scan 和 get 的功能以及实现的异同?



HBase 的查询实现只提供两种方式:

1)按指定 RowKey 获取唯一一条记录,get 方法
(org.apache.hadoop.hbase.client.Get) Get 的方法处理分两种 : 设置了ClosestRowBefore 和 没有设置 ClosestRowBefore 的 rowlock。主要是用来保证行的事务性,即每个 get 是以一个 row 来标记的。一个 row 中可以有很多 family 和 column。

2)按指定的条件获取一批记录,scan 方法
(org.apache.Hadoop.hbase.client.Scan)实现条件查询功能使用的就是 scan 方式。
(1)scan 可以通过 setCaching 与 setBatch 方法提高速度(以空间换时间);
(2)scan 可以通过 setStartRow 与 setEndRow 来限定范围([start,end)start 是闭区间,end 是开区间)。范围越小,性能越高。
(3)scan 可以通过 setFilter 方法添加过滤器,这也是分页、多条件查询的基础

发布者:admin,如若转载,请注明出处:https://ai1024.vip/38752.html

QR code
//