再使用hbase 命令之前先检查一下hbase是否运行正常
hadoop@Master:/usr/hbase/bin$ jps
2640 HMaster
27170 NameNode
27533 SecondaryNameNode
3038 Jps
27795 TaskTracker
27351 DataNode
2574 HQuorumPeer
27618 JobTracker
2872 HRegionServer
如果运行不正常的话,关闭hbase后重新启动一下
stop-hbase.sh
start-hbase.sh
1. status命令
hbase(main):008:0> status
1 servers, 0 dead, 3.0000 average load
2. version命令
hbase(main):007:0> version
0.94.12, r1524863, Fri Sep 20 00:25:45 UTC 2013
3. create 命令
创建一个名为 test 的表,这个表只有一个列为 cf。其中表名、列都要用单引号括起来,并以逗号隔开。
hbase(main):001:0> create 'test', 'cf'
0 row(s) in 10.3830 seconds
4. list 命令
查看当前 HBase 中具有哪些表。
hbase(main):009:0> list
TABLE
test
1 row(s) in 0.3590 seconds
5. put 命令
使用 put 命令向表中插入数据,参数分别为表名、行名、列名和值,其中列名前需要列族最为前缀,时间戳由系统自动生成。
格式: put 表名,行名,列名([列族:列名]),值
例子:
加入一行数据,行名称为“row1”,列族“cf”的列名为”(空字符串)”,值位 value1。
我这里插入3条记录
hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.2350 seconds
hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0350 seconds
hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0040 seconds
6. describe 命令
查看表“test”的构造。
hbase(main):010:0> describe 'test'
DESCRIPTION ENABLED
'test', {NAME => 'cf', DATA_BLOCK_ENCODING => 'NONE true
', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0',
VERSIONS => '3', COMPRESSION => 'NONE', MIN_VERSIO
NS => '0', TTL => '2147483647', KEEP_DELETED_CELLS
=> 'false', BLOCKSIZE => '65536', IN_MEMORY => 'fal
se', ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'
}
1 row(s) in 1.6630 seconds
7.get 命令
a.查看表“test”中的行“row2”的相关数据。
hbase(main):011:0> get 'test','row2'
COLUMN CELL
cf:b timestamp=1381568161926, value=value2
1 row(s) in 0.4500 seconds
b.查看表“test”中行“row2”列“cf :b”的值。
hbase(main):012:0> get 'test','row2', 'cf:b'
COLUMN CELL
cf:b timestamp=1381568161926, value=value2
1 row(s) in 0.3090 seconds
或者
hbase(main):012:0> get 'test', 'row2', {COLUMN=>'cf:b'}
hbase(main):012:0> get 'test', 'row2', {COLUMNS=>'cf:b'}
备注:COLUMN 和 COLUMNS 是不同的,scan 操作中的 COLUMNS 指定的是表的列族, get操作中的 COLUMN 指定的是特定的列,COLUMNS 的值实质上为“列族:列修饰符”。
COLUMN 和 COLUMNS 必须为大写。
8. scan 命令
a. 查看表“test”中的所有数据。
hbase(main):006:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1381568140492, value=value1
row2 column=cf:b, timestamp=1381568161926, value=value2
row3 column=cf:c, timestamp=1381568176693, value=value3
3 row(s) in 0.0770 seconds
注意:
scan 命令可以指定 startrow,stoprow 来 scan 多个 row。
例如:
scan 'user_test',{COLUMNS =>'info:username',LIMIT =>10, STARTROW => 'test', STOPROW=>'test2'}
b.查看表“scores”中列族“course”的所有数据。
hbase(main):012:0> scan 'scores', {COLUMN => 'grad'}
hbase(main):012:0> scan 'scores', {COLUMN=>'course:math'}
hbase(main):012:0> scan 'scores', {COLUMNS => 'course'}
hbase(main):012:0> scan 'scores', {COLUMNS => 'course'}
9.count 命令——统计出表中有多少条记录
hbase(main):013:0> count 'test'
3 row(s) in 1.6530 seconds
10. exists 命令——查看表是否存在
hbase(main):014:0> exists 'test'
Table test does exist
0 row(s) in 1.1620 seconds
11. incr 命令
给‘test’这个列增加 uid 字段,并使用counter实现递增
连续执行incr以上,COUNTER VALUE 的值会递增,通过get_counter
hbase(main):010:0> incr 'test', 'row2', 'uid', 2
COUNTER VALUE = 2
hbase(main):011:0> incr 'test', 'row2', 'uid', 3
COUNTER VALUE = 5
查看表可以看到:
hbase(main):012:0> scan 'test'
ROW COLUMN+CELL
row1 column=uid:1, timestamp=1381571789416, value=buym:1
row2 column=uid:, timestamp=1381572436088, value=\x00\x00\x00\x
00\x00\x00\x00\x05
row2 column=uid:2, timestamp=1381571805008, value=buym:20
2 row(s) in 0.0790 seconds
12. delete 命令
删除表“test”中行为“row3”, 列族“cf”中的“c”。
hbase(main):015:0> delete 'test','row3','cf:c'
0 row(s) in 0.4640 seconds
13. truncate 命令——将表删除后再重新创建
hbase(main):018:0> truncate 'test'
Truncating 'test' table (it may take a while):
- Disabling table...
- Dropping table...
- Creating table...
0 row(s) in 5.6480 seconds
14. disbale、drop 命令
通过“disable”和“drop”命令删除“test”表。
hbase(main):001:0> disable 'test'
hbase(main):003:0> drop 'test'
0 row(s) in 3.9310 seconds
分享到:
相关推荐
实验9-HBase shell命令使用.pdf
HBase Shell命令大全_monday的博客-CSDN博客_hbase shell.html
批量执行hbase shell 命令 #!/bin/bash source /etc/profile exec $HBASE_HOME/bin/hbase shell <<EOF truncate 'tracker_total_apk_fact_zyt' major_compact('t_abc') disable 't_abc' drop 't_abc' create...
hbase shell命令详解
总结常用的hbase shell操作命令。
hbase_shell操作命令汇总, 内含HBase常用shell命令。
HBase Shell的一些基本操作命令,列出了几个常用的HBase Shell命令
这是我从网上整理的一个文档,用于hbase shell初学者的参考文档。
hadoop hbase_shell操作命令hadoop hbase_shell操作命令hadoop hbase_shell操作命令hadoop hbase_shell操作命令hadoop hbase_shell操作命令hadoop hbase_shell操作命令
hadoop HBaseshell常用shell命令,这是工作中整理的一份文档,使用价值很高
hbase_shell操作命令 1.查询服务器状态 hbase(main):024:0>status 3 servers, 0 dead,1.0000 average load
该文档包含了HBase里面一系列常用的shell命令,包括增删改查等操作,还有读数据模型的概括,为了方便童鞋们查找,整理成一个文档供大家查阅。
主要介绍了Hadoop 中 HBase Shell命令的详解的相关资料,需要的朋友可以参考下
Hbase shell及常用命令
hbase 在linux的shell命令
HDFS_HBaseShell的常用命令.docx
> create 'student','Sname','Ssex','Sage','Sdept','course'命令执行截图如下:此时,即创建了一个“stud
Hadoop技术-HBaseShell常用命令.pptx
hadoop 集群环境下 hbase 的shell 基本操作命令
(2)熟练使用HBase操作常用的 Shell命令。(3)熟悉HBase操作常用的 Java API。 A.3.2 实验平台 (1)操作系统:Linux。 (2)Hadoop 版本:2.7.1或以上版本。(3)HBase版本:1.1.2或以上版本。(4) JDK 版本:1.7或以上...