hbase shell

最近要做数据分析测试,看hbase 中所存数据是否正确,之前未接触过,所以把用到的命令记录下来,以便后续查询使用

1、hbase shell
2、list   列出所有表
3、scan '表名' 查询整张表记录
4、get '表名','行键' :查询某个行键所对应的的记录

5、count  '表名‘ :查询表中多少条记录

6、值过滤器 scan '表名', FILTER=>"ValueFilter(=,'substring:brand')"  :查询表中含有brand的所有记录

7、查看表中某一列  :scan 'xjhanalysis_collect_httprequest_20170821',{COLUMNS=>['header']}

8、查询某一列的前5条:scan 'xjhanalysis_collect_httprequest_20170821',{COLUMNS=>['header'],LIMIT=>5}

9、想查询出表下面有多少列族

echo "desc 'xjhanalysis_collect_httprequest_20170821'"  输出表

echo "desc 'xjhanalysis_collect_httprequest_20170821'"|/usr/local/hbase/bin/hbase shell     输出表文件|进入hbase shell下

解释:

"/usr/local/hbase/bin/hbase shell" 这条命令是进入hbase的shell 下执行操作
echo "scan 'xjhanalysis_collect_httprequest_20170821'" 这条命令是将scan 'xjhanalysis_collect_httprequest_20170821 作文文本输入到某某地方
| 这个是管道符,建立前后两条命令的连接
整个连接起来的意思是,将scan 'xjhanalysis_collect_httprequest_20170821' 作为文本输入到 hbase shell下执行。


③echo "scan 'xjhanalysis_collect_httprequest_20170821'"|/usr/local/hbase/bin/hbase shell|awk '{print $2}'|sort|uniq -c   打印第二部分|进行排序|唯一列

-c代表有多少重复行,

sort是排序,把重复的排列在一起

awk '{print $2}' 打印出第2部分,默认空格为分隔符,如果想打印第1,2部分,就是awk '{print $1,$2}'

10,把输出结果生成文本文件:前一命令>>xx.txt


11、把生成的文件拷贝到自己电脑上:sz xx.txt



把用到的结果截图记录在此,一边查询

1、echo "scan 'xjhanalysis_collect_httprequest_20170821'"


2、echo "desc 'xjhanalysis_collect_httprequest_20170821'"|/usr/local/hbase/bin/hbase shell


3、echo "scan 'xjhanalysis_collect_httprequest_20170821'"|/usr/local/hbase/bin/hbase shell|awk '{print $2}'

hbase shell_第1张图片


echo "scan 'xjhanalysis_collect_httprequest_20170821'" | /usr/local/hbase/bin/hbase shell |awk '{print $2}' | awk -F 'timestamp' '{print $1}'      awk -F ' timestamp' '{print $1}':意思是:—F指定分隔符,然后打印第几部分


4、echo "scan 'xjhanalysis_collect_httprequest_20170821'"|/usr/local/hbase/bin/hbase shell|awk '{print $2}'|sort|uniq -c       列族下的不同列

hbase shell_第2张图片

你可能感兴趣的:(hbase)