hbase的查询scan功能注意点(setStartRow, setStopRow)
2016-07-29 17:18
435 查看
来自http://hi.baidu.com/7636553/blog/item/982beb17713bc004972b43ee.html
hbase的scan查询功能注意项:
Scan scan = new Scan();
scan.setStartRow(“5193:”);
scan.setStopRow(“5194:”);
ResultScanner result = table.getScanner(scan);
for (Result r : result) {
get it......
}
查找
原本期望:
从下列中
5193:1
5193:2
5194:1
51939:1
51942:1
取出5193:---5194:中的元素(5193开头的元素),也就是(程序所使用的查询方式)
5193:1
5193:2
但是,其实很容易被误取了,实际查询得到的结果如下:
5193:1
5193:2
51942:1
原因是:与hbase内的scan的方式有关,hbase会将自己的元素按照key的ASCII码排序,
其实也就是说,我们会看见排列的方式如下:
51939:1
5193:1
5193:2
51942:1
5194:1
如果hbase使用这种查询方式,是实际工作中,因为id都比较长,其实发生的概率比较小,是一种偶现问题。
取出5193:开头的元素相对比较取巧的写法:
scan.setStartRow("5193:#");
scan.setStopRow("5193::");
ResultScanner result = table.getScanner(scan);
for (Result r : result) {
get it......
}
原因:ASCII排序中:"#" < "0-9" < ":"
取出来的将是5193:后面跟着数字的元素
(转)http://blog.sina.com.cn/s/blog_6a67b5c50100zbrx.html
hbase的scan查询功能注意项:
Scan scan = new Scan();
scan.setStartRow(“5193:”);
scan.setStopRow(“5194:”);
ResultScanner result = table.getScanner(scan);
for (Result r : result) {
get it......
}
查找
原本期望:
从下列中
5193:1
5193:2
5194:1
51939:1
51942:1
取出5193:---5194:中的元素(5193开头的元素),也就是(程序所使用的查询方式)
5193:1
5193:2
但是,其实很容易被误取了,实际查询得到的结果如下:
5193:1
5193:2
51942:1
原因是:与hbase内的scan的方式有关,hbase会将自己的元素按照key的ASCII码排序,
其实也就是说,我们会看见排列的方式如下:
51939:1
5193:1
5193:2
51942:1
5194:1
如果hbase使用这种查询方式,是实际工作中,因为id都比较长,其实发生的概率比较小,是一种偶现问题。
取出5193:开头的元素相对比较取巧的写法:
scan.setStartRow("5193:#");
scan.setStopRow("5193::");
ResultScanner result = table.getScanner(scan);
for (Result r : result) {
get it......
}
原因:ASCII排序中:"#" < "0-9" < ":"
取出来的将是5193:后面跟着数字的元素
(转)http://blog.sina.com.cn/s/blog_6a67b5c50100zbrx.html
相关文章推荐
- Linux2.6内核--进程调度理论
- eCryptfs - close系统调用
- centos7下 tomcat的安装与配置
- linux在菜单栏中添加程序快捷启动图标
- Bash学习
- MooseFS维护技巧集锦
- 关于opencv播放视频的笔记
- linux netcat命令使用技巧
- Shell编程---数值运算
- linux命令:find详解
- mac nginx + php 开发环境集成
- Linux-字符编码转换学习
- OPENCV习作之相机标定
- 例解 Linux 下 Make 命令
- Linux_Linux命令_wc_统计命令_Word Count
- linux操作系统centos 7 安装MySQL数据库
- Linux索引节点以及链接
- CentOS splashimage
- CentOS7下通过yum安装p7zip
- CentOS更新yum源