refactor(hbase-lesson):调整 HBase 查询示例代码
- 注释掉 scanRowsWithFilter 方法调用 -重新组织 getKeyValue 方法参数 - 调整 scan.setLimit 参数值 - 修改行键前缀过滤器条件 - 优化代码格式和结构
This commit is contained in:
parent
5a6475fb14
commit
d62bb73cf3
@ -29,9 +29,8 @@ public class task_DML_select {
|
|||||||
|
|
||||||
|
|
||||||
// scanRows(table);
|
// scanRows(table);
|
||||||
|
|
||||||
// getKeyValue(table,"000000");
|
// getKeyValue(table,"000000");
|
||||||
|
// scanRowsWithFilter(table);
|
||||||
getFamily(table);
|
getFamily(table);
|
||||||
|
|
||||||
// 关闭连接
|
// 关闭连接
|
||||||
@ -122,7 +121,7 @@ public class task_DML_select {
|
|||||||
//scan.withStopRow(Bytes.toBytes(stopMd5),false);
|
//scan.withStopRow(Bytes.toBytes(stopMd5),false);
|
||||||
|
|
||||||
// 设置总共要扫描的行数
|
// 设置总共要扫描的行数
|
||||||
scan.setLimit(100000);
|
scan.setLimit(10000);
|
||||||
|
|
||||||
ResultScanner scanner = table.getScanner(scan);
|
ResultScanner scanner = table.getScanner(scan);
|
||||||
// 扫描时的 行 迭代器
|
// 扫描时的 行 迭代器
|
||||||
@ -142,13 +141,17 @@ public class task_DML_select {
|
|||||||
Scan scan = new Scan();
|
Scan scan = new Scan();
|
||||||
|
|
||||||
scan.withStartRow(Bytes.toBytes("000001"), true);
|
scan.withStartRow(Bytes.toBytes("000001"), true);
|
||||||
scan.setLimit(10);
|
scan.setLimit(2);
|
||||||
|
|
||||||
// 行键前缀过滤器
|
// 行键前缀过滤器
|
||||||
Filter filter1 = new PrefixFilter(Bytes.toBytes("cd")); // 行键前缀过滤器
|
Filter filter1 = new PrefixFilter(Bytes.toBytes("00")); // 行键前缀过滤器
|
||||||
|
|
||||||
// 列值过滤器(匹配到条件的行,整行数据都将返回)
|
// 列值过滤器(匹配到条件的行,整行数据都将返回)
|
||||||
SingleColumnValueFilter filter2 = new SingleColumnValueFilter(Bytes.toBytes("extra_info"), Bytes.toBytes("city"), CompareOperator.EQUAL, Bytes.toBytes("南京"));
|
SingleColumnValueFilter filter2 =
|
||||||
|
new SingleColumnValueFilter(Bytes.toBytes("extra_info"),
|
||||||
|
Bytes.toBytes("city"),
|
||||||
|
CompareOperator.EQUAL,
|
||||||
|
Bytes.toBytes("南京"));
|
||||||
|
|
||||||
ArrayList<Filter> filterList = new ArrayList<Filter>();
|
ArrayList<Filter> filterList = new ArrayList<Filter>();
|
||||||
filterList.add(filter1);
|
filterList.add(filter1);
|
||||||
@ -158,11 +161,9 @@ public class task_DML_select {
|
|||||||
FilterList filters = new FilterList(FilterList.Operator.MUST_PASS_ALL, filterList);
|
FilterList filters = new FilterList(FilterList.Operator.MUST_PASS_ALL, filterList);
|
||||||
//FilterListWithAND filters = new FilterListWithAND(filterList);
|
//FilterListWithAND filters = new FilterListWithAND(filterList);
|
||||||
|
|
||||||
|
|
||||||
// 给scan参数设置过滤器条件
|
// 给scan参数设置过滤器条件
|
||||||
scan.setFilter(filters);
|
scan.setFilter(filters);
|
||||||
|
|
||||||
|
|
||||||
ResultScanner scanner = table.getScanner(scan);
|
ResultScanner scanner = table.getScanner(scan);
|
||||||
Iterator<Result> iterator = scanner.iterator(); // 拿到行迭代器
|
Iterator<Result> iterator = scanner.iterator(); // 拿到行迭代器
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user