hbase shell命令的使用

再使用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


Hbase经常使用命令的更多相关文章

  1. HBase基本shell命令

    HBase基本shell命令 以下shell命令都是经过测试,正常展示,若有不足,还望指点! 1.创建表 create ‘表名称’,‘列族名称1’,‘列族名称1’create 'test_M_01', ...

  2. (转)Hbase shell 常用命令(1)

    Hbase shell 常用命令(1) link:http://blog.csdn.net/scutshuxue/article/details/6988348 下面我们看看HBase Shell的一 ...

  3. HBase的Shell命令

    1.HBase提供了一个shell的终端给用户交互 2.HBase Shell的DDL操作 (1)先进入HBase的 Shell命令行,即HBASE_HOME/bin/hbase shell …… & ...

  4. Hbase启动hbase shell运行命令报Class path contains multiple SLF4J bindings.错误

    1:Hbase启动hbase shell运行命令报Class path contains multiple SLF4J bindings.错误,是因为jar包冲突了,所以对于和hadoop的jar包冲 ...

  5. Hbase的shell命令学习

    在学习Hbase的shell命令,之前先得了解如何进入hbase的shell命令行,通过执行如下简单的命令回车后进入hbase的shell命令行界面 hbase shell 进入hbase命令行后,执 ...

  6. 原 HBase 常用Shell命令

    HBase 常用Shell命令 1.进入hbase shell console $HBASE_HOME/bin/hbase shell 如果有kerberos认证,需要事先使用相应的keytab进行一 ...

  7. HBase使用flush命令之后存储的位置

    HBase使用flush命令之后存储的位置 根据系统安装位置的不一样而不一样,当前是在: hadoop fs -ls /apps/hbase/data/data/default/t1 下面: 使用ha ...

  8. 【CDN+】 Hbase入门 以及Hbase shell基础命令

    前言 大数据的基础离不开Hbase, 本文就hbase的基础概念,特点,以及框架进行简介, 实际操作种需要注意hbase shell的使用. Hbase  基础 官网:https://hbase.ap ...

  9. hbase shell 常见命令

    quick start from official Hbase  hbase(main):003:0> create 'test', 'cf' 0 row(s) in 1.2200 second ...

  10. HBase 常用Shell命令

    两个月前使用过hbase,现在最基本的命令都淡忘了,留一个备查~ 进入hbase shell console$HBASE_HOME/bin/hbase shell如果有kerberos认证,需要事先使 ...

随机推荐

  1. 13-(1-4)进程管道关于popen(-r-w)及pipe的程序使用实例

    #include<unistd.h> #include<stdlib.h> #include<stdio.h> #include<string.h> # ...

  2. Oracle、DB2、MySql、SQLServer JDBC驱动

    四种数据库JDBC驱动,还列出了连接的Class驱动名和Url Pattern,DB2包括Type 2.Type 3和Type 4三种模式.注意驱动包名称的大小写. Oralce连接驱动包名和URL ...

  3. TraceView总结

    一.TraceView简单介绍 TraceView是AndroidSDK里面自带的工具,用于对Android的应用程序以及Framework层的代码进行性能分析. TraceView是图形化的工具,终 ...

  4. Android触控屏幕Gesture(GestureDetector和SimpleOnGestureListener的使用教程)

    1.当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing等等,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(Vie ...

  5. EasyUI - Tabs

    代码: 判断是不是已经存在,如果存在,则直接选中,否则创建新的tab. $('#tabs').tabs({ fit: true, border: false }) $('#Tree').tree({ ...

  6. JSP自定义标签——传统标签

    同JSP标签一样,自定义标签主要用于移除JSP页面中的Java代码,可以看到我们在JSP中其实是禁止使用Java脚本的,任何要想通过Java代码实现的功能都必须以标签形式来处理,可以使用JSP标签,J ...

  7. delphi删除只读文件

    只读文件就是不能删除的文件,用DeleteFile函数对它来说是毫无意义的,要删除只读文件,只有先改变它的属性.如果你要删除一个文件,最好先作两个方面的考虑: (1)判断该文件的属性.可以用上面提到的 ...

  8. PHP之操作数据库

    数据库,顾名思义,是一个存放数据的容器.然后在使用过程中对数据库里面的数据增删改查,具体是怎么实现的呢? 这儿不得不提一下一个神奇的东西:SQL语句:结构化查询语言(Structured Query ...

  9. 虚拟机安装中文Fedora14和C/C++IDE开发环境

    虚拟机安装中文Fedora14和C/C++IDE开发环境 2010-12-05 00:15:58 标签:中文Fedora14 IDE 开发环境 C/C++ 原创作品,允许转载,转载时请务必以超链接形式 ...

  10. 设置静态IP

    设定IP $sudo vi/etc/network/interfaces autolo iface lo inet loopback 加入下面内容 autoeth0 iface eth0inet st ...