hbase 2.0版本及以上 废弃了 scan 扫表时候的setStartRow 和 setStopRow,更改为对应的withStartRow 和 withStopRow 两方法 。
//第一个参数为scan扫表开始的rowkey,第二个参数,若为true,则包含rowkey为1打头的;若为false,则不包含rowkey为1打头的数据。
withStartRow(Bytes.toBytes("1"),ture)
//可以只传第一个参数,若传第二个参数,默认为ture,包含rowkey为1打头的所有数据
withStartRow(Bytes.toBytes("1"))
//第一个参数为scan扫表开始的rowkey,第二个参数,若为true,则包含rowkey为1打头的;若为false,则不包含rowkey为1打头的数据。
withStopRow(Bytes.toBytes("1"),ture)
//可以只传第一个参数,若传第二个参数,默认为false,不包含rowkey为1打头的所有数据
withStopRow(Bytes.toBytes("1"));
eg:
scan = new Scan();
scan.withStartRow(Bytes.toBytes("1"));// 默认为true,包含
scan.withStopRow(Bytes.toBytes("1"));//默认为false,不包含
总结:withStartRow,withStopRow只传一个rowkey 形式是左闭右开[ )形式;
scan.withStartRow(Bytes.toBytes("1")) = scan.setStartRow(Bytes.toBytes("1"))
scan.withStopRow(Bytes.toBytes("1"),true) = scan.setStopRow(Bytes.toBytes("1"))