HBase shell 中的十六进制数值表示
2019独角兽企业重金招聘Python工程师标准>>>
在使用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"))); //输出结果:e4b8ade69687System.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"
查出来啦...
转载于:https://my.oschina.net/sniperLi/blog/1616459
HBase shell 中的十六进制数值表示相关推荐
- Shell中字符串、数值的比较
Shell中字符串.数值的比较 二元比较操作符,比较变量或者比较数字 整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如: ...
- Hadoop HBase概念学习系列之hbase shell中执行java方法(高手必备)(二十五)
hbase shell中执行java方法(高手必备),务必掌握! 1. 2. 3. 4. 更多命令,见scan help.在实际工作中,多用这个!!! API参考: http://hbase.apac ...
- 在hbase shell中执行list抛出异常:ERROR: No valid credentials provided
在hbase shell中执行list抛出异常:ERROR: No valid credentials provided 解决方法: 1.查看klist [hdfs@kjss1 ~]$ klist k ...
- hbase shell中命令无法删除?
这种问题发散一下大脑,我们经常使用的键,无效,是不是有用ctrl+这个键的情况. 所以ctrl+删除键... 没错就是这么反人类的操作,不过听好像新版本中解决这个问题了. 你将来写软件,也可以反人类一 ...
- 在SecureCRT中,hbase shell不能回退的问题
解决方法: 在hbase shell中如输入出错,按住Ctrl+删除键(backspace) 即可删除!
- HBase Shell实例
HBase Shell 常用操作 1. 命名空间 2. DDL语句 3. put与get 4. 其他DML语句 5. scan和filter HBase Shell 常用操作 HBase Shell是 ...
- HBase Shell 常用操作
HBase Shell 常用操作 2015年3月10日 by debugo · 19 Comments 本文转自http://debugo.com/hbase-shell-cmds/,感谢作者 HBa ...
- hbase shell命令2
2019独角兽企业重金招聘Python工程师标准>>> 在HBase shell中,可以使用status, version和whoami分别获得当前服务的状态.版本.登录用户和验证方 ...
- cdh界面 hue 配置hbase_海量数据存储技术之HBase:使用HBase Shell操纵HBase
Apache HBase Shell是JRuby的IRB,并在此基础上加入了HBase特有的命令. JRuby是用Java实现的Ruby解释器.通过JRuby,你可以在JVM上直接运行Ruby程序,调 ...
最新文章
- 使用java连接JanusGraph进行操作,hbase报错信息为:Caused by: org.apache.hbase.thirdparty.io.netty.channel.AbstractCh
- 原 记录一下iOS开发中琐碎的点点_6
- 你必须知道如何回答的五大计算机安全问题!
- linux裸设备文件系统,Linux当中的文件系统
- Yearning v1.4.2 发布,SQL审核平台
- npm 安装less插件_IDEA编译less插件LESS CSS Compiler的安装
- python中文字符串转list
- asp.net中打印指定控件内容
- flv 开源 修复_如何修复开源软件中的错误
- 如何高效地远程部署?Fabric 来支招!
- opencv 光流法
- HBuilder开发app,扫描枪中,使用input输入框,然后点击扫描,获取不到条码!
- 2018年中国 Micro-LED 行业市场前景研究报告(简版)
- 基于数据挖掘的智能停车场运营数据分析系统
- matlab受力曲线导入adams中,如何在adams中导入dxf曲线
- git克隆指定分支的代码
- iFixit拆Galaxy Fold发现异物易入侵机内
- Linux 读书笔记 二
- 如何下载天桥街道卫星地图高清版大图
- java正则表达式 字符串取开头数字 结尾数字 取反