HBase shell 中的十六进制数值表示
在使用Hbase shell 进行get 或scan操作时,时不时会看到一些数值被转成了16进制, 就像下面那样

value=W\x5C5\x80
那么这个值具体等于多少? 查阅资料后发现算法如下
W -> W的ASCII码16进制 为 0x57
\x5C -> 就是16进制不变 0x5C
5 -> 5的ASCII码16进制 为 0x35
\x80 -> 就是16进制不变 0x80
所以从左往右重新拼起来就是
0x575C3580 -> 转成十进制为 1465660800
所以照例,如下

value=W]PA
W -> W的ASCII码16进制 为 0x57
] -> ]的ASCII码16进制 为 0x5D
P -> P的ASCII码16进制 为 0x50
A -> A的ASCII码16进制 为 0x41
0x575D5041 -> 转成十进制为 1465733185
以上是查询结果出现十六进制的情况, 那么如果查询的Key本身也被转为16进制怎么办? 因为有时候key中可能有中文字符.
可以照如下操作:
先写个简单测试程序把中文UTF-8转成16进制
System.out.println(org.apache.commons.codec.binary.Hex.encodeHex("中文".getBytes("UTF-8")));
//输出结果:e4b8ade69687
System.out.println(new String(org.apache.commons.codec.binary.Hex.decodeHex("e4b8ade69687".toCharArray()),"UTF-8"));
//输出结果:中文
也可以直接使用网站工具
https://sites.google.com/site/nathanlexwww/tools/utf8-convert
转好后把16进制每2位一组前面加上\x
就比如上面的
e4b8ade69687 -> \xe4\xb8\xad\xe6\x96\x87
举个例子:
我要查询的key是
CE20CCE09EEB4F8A6BB50E41953A55FCD|3|钢铁烈阳37|PA-1453442402-6111|PR-1453442402-3599
直接
get 'role_history_info' , 'CE20CCE09EEB4F8A6BB50E41953A55FCD|3|钢铁烈阳37|PA-1453442402-6111|PR-1453442402-3599'
没有结果
把其中的中文字符按照上面的方法转成如下
钢铁烈阳->e992a2e99381e78388e998b3 -> \xe9\x92\xa2\xe9\x93\x81\xe7\x83\x88\xe9\x98\xb3
查询时 包着key的单引号换成双引号
get 'role_history_info' , "CE20CCE09EEB4F8A6BB50E41953A55FCD|3|\xe9\x92\xa2\xe9\x93\x81\xe7\x83\x88\xe9\x98\xb337|PA-1453442402-6111|PR-1453442402-3599"

查出来啦...
HBase shell 中的十六进制数值表示的更多相关文章
- Hadoop HBase概念学习系列之hbase shell中执行java方法(高手必备)(二十五)
hbase shell中执行java方法(高手必备),务必掌握! 1. 2. 3. 4. 更多命令,见scan help.在实际工作中,多用这个!!! API参考: http://hbase.apac ...
- Shell中字符串、数值的比较
原文:http://apps.hi.baidu.com/share/detail/31263915 在shell中字符串与数值的比较方法是不同的,要注意区分 整数比较: -eq 等于 ...
- hbase shell中log4j重复问题
[root@centos ~]# hbase shellSLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding ...
- hbase shell中执行list命令报错:ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
问题描述: 今天在测试环境中,搭建hbase环境,执行list命令之后,报错: hbase(main):001:0> list TABLE ERROR: org.apache.hadoop.hb ...
- Hbase shell 中能否通过filter实现的高级查询
import org.apache.hadoop.hbase.filter.CompareFilter import org.apache.hadoop.hbase.filter.SingleColu ...
- 解决Xshell中使用hbase shell backspace无法删除
进入到XShell 文件 –> 属性 –> 终端 –> 键盘 在 DELETE键序列 和 BACKSPACE键序列 中都选择 ASCII 127 最后进入 Hbase 命令行测试,可 ...
- HBase shell 命令介绍
HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况.安装完HBase之后,如果配置了HBase的环境变量,只要在sh ...
- HBase学习笔记2 - HBase shell常用命令
转载请标注原链接:http://www.cnblogs.com/xczyd/p/6639397.html 扫表的时候限定行数 scan } 即为扫表的时候,限定只输出五条数据 ============ ...
- hbase shell 命令
HBase使用教程 时间 2014-06-01 20:02:18 IT社区推荐资讯 原文 http://itindex.net/detail/49825-hbase 主题 HBase 1 基 ...
随机推荐
- 10.VUE学习之使用lodash库减少watch对后台请求的压力
问题描述 使用watch监听库里word的值的变化,获取新值后,用oxios发送的ajax异步请求, 此时会多次发送请求,浪费服务器资料. 解决办法 使用lodash库里的_.debounce函数延缓 ...
- 调用python-nmap实现扫描局域网存活主机
使用环境:Raspberry 3b+ +netifaces+python-nmap+nmap 调用netifaces自动获取ip地址: def get_gateways(): return netif ...
- DRF工程搭建
环境安装与配置 DRF需要以下依赖: Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6) Django (1.10, 1.11, 2.0) DRF是以Django扩展应用的方式 ...
- ArcGis API for JavaScript学习——离线部署API
ArcGis API for JavaScript开发笔记——离线部署API 以3.18版API为例: 在加载图图前引用GIS服务是必须的.有两种方法,一是在线引用,而是离线部署引用. 在线引用: & ...
- B1056 组合数的和 (15分)
B1056 组合数的和 (15分) 给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字.要求所有可能组合出来的 2 位数字的和.例如给定2.5.8,则可以组合出: ...
- secureCRT中vim行号下划线问题
在vim中发现开启显示行号(set number)或语法高亮(syntax on)时,发现文档中很多地方都有下划线,对视觉产生极大干扰.开始还以为是vim的某个配置造成的,后来发现真正的元凶是secu ...
- Diycode开源项目 TopicContentActivity分析
1.效果预览以及布局分析 1.1.实际效果预览 左侧话题列表的布局是通过TopicProvider来实现的,所以当初分析话题列表就没有看到布局. 这里的话题内容不是一个ListView,故要自己布局. ...
- Spring---浅谈AOP
概念 AOP是Aspect Oriented Programming的缩写,即面向切面的编程.是一种比较新颖的编程思想,也是Spring框架中一个重要的领域. AOP将应用系统分为两个部分:核心业务逻 ...
- Error:Execution failed for task ':myapplication:processDebugResources'. > com.android.ide.common.pro
Error:Execution failed for task ':myapplication:processDebugResources'. > com.android.ide.common. ...
- 有关js的一些小问题
忘了从哪里找来抄下来的: js执行顺序问题 1.函数的声明和调用 “定义式”函数声明 function fn1() {......} "赋值式"函数声明 var f=functio ...