码迷,mamicode.com
首页 > 其他好文 > 详细

HBase命令行基本操作

时间:2015-06-28 21:39:53      阅读:430      评论:0      收藏:0      [点我收藏+]

标签:hbase   hadoop   

关于HBase

[hdfs@hadoop1 root]$ hbase
Usage: hbase [<options>] <command> [<args>]
Options:
  --config DIR    Configuration direction to use. Default: ./conf
  --hosts HOSTS   Override the list in ‘regionservers‘ file

Commands:
Some commands take arguments. Pass no args or -h for usage.
  shell           Run the HBase shell
  hbck            Run the hbase ‘fsck‘ tool
  hlog            Write-ahead-log analyzer
  hfile           Store file analyzer
  zkcli           Run the ZooKeeper shell
  upgrade         Upgrade hbase
  master          Run an HBase HMaster node
  regionserver    Run an HBase HRegionServer node
  zookeeper       Run a Zookeeper server
  rest            Run an HBase REST server
  thrift          Run the HBase Thrift server
  thrift2         Run the HBase Thrift2 server
  clean           Run the HBase clean up script
  classpath       Dump hbase CLASSPATH
  mapredcp        Dump CLASSPATH entries required by mapreduce
  pe              Run PerformanceEvaluation
  ltt             Run LoadTestTool
  version         Print the version
  CLASSNAME       Run the class named CLASSNAME

进入命令行

[root@hadoop1 ~]# hbase shell

退出命令行

hbase(main):001:0> exit

查看全部表

hbase(main):001:0> list
TABLE
0 row(s) in 1.9500 seconds
=> []

创建表

create ‘表名称‘,‘列名称1‘,...,‘列名称n‘

eg:建立一个表scores,有两个列族grad和courese。
hbase(main):004:0> create ‘scores‘,‘grad‘,‘courese‘
0 row(s) in 1.5820 seconds
=> Hbase::Table - scores

hbase(main):005:0> list
TABLE
scores
1 row(s) in 0.0080 seconds
=> ["scores"]

查看表结构

技术分享

添加记录

put ‘表名‘,‘行键名‘,‘列名‘,‘单元格值‘,‘时间戳‘
时间戳可以省略。

hbase(main):009:0> put ‘scores‘,‘Tom‘,‘grad:‘,‘5‘
hbase(main):011:0> put ‘scores‘,‘Tom‘,‘courese:math‘,‘100‘
hbase(main):012:0> put ‘scores‘,‘Tom‘,‘courese:art‘,‘100‘

hbase(main):013:0> put ‘scores‘,‘Mark‘,‘grad‘,‘6‘

hbase(main):014:0> put ‘scores‘,‘Mark‘,‘courese:english‘,‘120‘

hbase(main):015:0> put ‘scores‘,‘Mark‘,‘courese:chinese‘,‘108‘

查看表所有记录(全面扫描)

scan ‘scores‘

技术分享

查找某条记录

hbase(main):020:0> get ‘scores‘,‘Mark‘
COLUMN             CELL
 courese:chinese   timestamp=1435491529683, value=108
 courese:english   timestamp=1435491508206, value=120
 grad:             timestamp=1435491484521, value=6
3 row(s) in 0.0520 seconds

hbase(main):021:0> get ‘scores‘,‘Mark‘,‘grad‘
COLUMN             CELL
 grad:             timestamp=1435491484521, value=6
1 row(s) in 0.0390 seconds

修改数据存储的版本
技术分享
技术分享

查看记录的多个版本

技术分享

统计行数

 hbase> count ‘ns1:t1‘
 hbase> count ‘t1‘
 hbase> count ‘t1‘, INTERVAL => 100000
 hbase> count ‘t1‘, CACHE => 1000
 hbase> count ‘t1‘, INTERVAL => 10, CACHE => 1000
统计一般比较耗时,使用mapreduce进行统计,统计结果会缓存,默认是10行,统计间隔默认是1000行。

hbase(main):038:0> count ‘scores‘
2 row(s) in 0.0290 seconds
=> 2

修改表结构

增加一列族
hbase(main):048:0> alter ‘scores‘,NAME=>‘info‘
Updating all regions with the new schema...
0/1 regions updated.
1/1 regions updated.
Done.
0 row(s) in 2.4330 seconds

删除一个列族
hbase(main):053:0> alter ‘scores‘,NAME=>‘NAME=info‘,METHOD=>‘deleteUpdating all regions with the new schema...
0/1 regions updated.
1/1 regions updated.
Done.
0 row(s) in 2.4670 seconds
hbase(main):055:0> alter ‘scores‘,‘delete‘=>‘courese‘

不过不能删除掉,先disable ‘scores‘,修改完之后再enable ‘scores‘

删除表

先禁用表
hbase(main):057:0> disable ‘scores‘
然后删除表
hbase(main):057:0> drop ‘scores‘

删除指定数据

delete ‘scores‘,‘Mark‘,‘courese:english‘

删除整行

deleteall ‘表名‘,‘行键‘
deleteall ‘scores‘,‘Mark‘(慎用)

清空表

表结构仍然在。

truncate ‘scores‘

HBase命令行基本操作

标签:hbase   hadoop   

原文地址:http://blog.csdn.net/scgaliguodong123_/article/details/46626779

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!