hbase shell命令的使用

再使用hbase 命令之前先检查一下hbase是否执行正常

  1. hadoop@Master:/usr/hbase/bin$ jps
  2. 2640 HMaster
  3. 27170 NameNode
  4. 27533 SecondaryNameNode
  5. 3038 Jps
  6. 27795 TaskTracker
  7. 27351 DataNode
  8. 2574 HQuorumPeer
  9. 27618 JobTracker
  10. 2872 HRegionServer

假设执行不正常的话。关闭hbase后又一次启动一下

  1. stop-hbase.sh
  2. start-hbase.sh

1.  status命令

  1. hbase(main):008:0> status
  2. 1 servers, 0 dead, 3.0000 average load

2. version命令

  1. hbase(main):007:0> version
  2. 0.94.12, r1524863, Fri Sep 20 00:25:45 UTC 2013

3. create 命令

创建一个名为 test 的表。这个表仅仅有一个列为 cf。

当中表名、列都要用单引號括起来,并以逗号隔开。

  1. hbase(main):001:0> create 'test', 'cf'
  2. 0 row(s) in 10.3830 seconds

4. list 命令

查看当前 HBase 中具有哪些表。

  1. hbase(main):009:0> list
  2. TABLE
  3. test
  4. 1 row(s) in 0.3590 seconds

5. put 命令

使用 put 命令向表中插入数据,參数分别为表名、行名、列名和值,当中列名前须要列族最为前缀,时间戳由系统自己主动生成。

格式: put 表名,行名,列名([列族:列名]),值

样例:

增加一行数据,行名称为“row1”,列族“cf”的列名为”(空字符串)”,值位 value1。

我这里插入3条记录

  1. hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
  2. 0 row(s) in 0.2350 seconds
  3.  
  4. hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
  5. 0 row(s) in 0.0350 seconds
  6.  
  7. hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'
  8. 0 row(s) in 0.0040 seconds

6. describe 命令

查看表“test”的构造。

  1. hbase(main):010:0> describe 'test'
  2. DESCRIPTION ENABLED
  3. 'test', {NAME => 'cf', DATA_BLOCK_ENCODING => 'NONE true
  4. ', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0',
  5. VERSIONS => '3', COMPRESSION => 'NONE', MIN_VERSIO
  6. NS => '0', TTL => '2147483647', KEEP_DELETED_CELLS
  7. => 'false', BLOCKSIZE => '65536', IN_MEMORY => 'fal
  8. se', ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'
  9. }
  10. 1 row(s) in 1.6630 seconds

7.get 命令

a.查看表“test”中的行“row2”的相关数据。

  1. hbase(main):011:0> get 'test','row2'
  2. COLUMN CELL
  3. cf:b timestamp=1381568161926, value=value2
  4. 1 row(s) in 0.4500 seconds

b.查看表“test”中行“row2”列“cf :b”的值。

  1. hbase(main):012:0> get 'test','row2', 'cf:b'
  2. COLUMN CELL
  3. cf:b timestamp=1381568161926, value=value2
  4. 1 row(s) in 0.3090 seconds

或者

  1. hbase(main):012:0> get 'test', 'row2', {COLUMN=>'cf:b'}
  2. hbase(main):012:0> get 'test', 'row2', {COLUMNS=>'cf:b'}

备注:COLUMN 和 COLUMNS 是不同的,scan 操作中的 COLUMNS 指定的是表的列族, get操作中的 COLUMN 指定的是特定的列,COLUMNS 的值实质上为“列族:列修饰符”。COLUMN 和 COLUMNS 必须为大写。



8. scan 命令

a. 查看表“test”中的全部数据。

  1. hbase(main):006:0> scan 'test'
  2. ROW COLUMN+CELL
  3. row1 column=cf:a, timestamp=1381568140492, value=value1
  4. row2 column=cf:b, timestamp=1381568161926, value=value2
  5. row3 column=cf:c, timestamp=1381568176693, value=value3
  6. 3 row(s) in 0.0770 seconds

注意:

scan 命令能够指定 startrow,stoprow 来 scan 多个 row。

比如:

  1. scan 'user_test',{COLUMNS =>'info:username',LIMIT =>10, STARTROW => 'test', STOPROW=>'test2'}

b.查看表“scores”中列族“course”的全部数据。

  1. hbase(main):012:0> scan 'scores', {COLUMN => 'grad'}
  2. hbase(main):012:0> scan 'scores', {COLUMN=>'course:math'}
  3. hbase(main):012:0> scan 'scores', {COLUMNS => 'course'}
  4. hbase(main):012:0> scan 'scores', {COLUMNS => 'course'}

9.count 命令——统计出表中有多少条记录

  1. hbase(main):013:0> count 'test'
  2. 3 row(s) in 1.6530 seconds

10. exists 命令——查看表是否存在

  1. hbase(main):014:0> exists 'test'
  2. Table test does exist
  3. 0 row(s) in 1.1620 seconds

11. incr 命令

给‘test’这个列添加 uid 字段,并使用counter实现递增

连续运行incr以上。COUNTER VALUE 的值会递增。通过get_counter

  1. hbase(main):010:0> incr 'test', 'row2', 'uid', 2
  2. COUNTER VALUE = 2
  3.  
  4. hbase(main):011:0> incr 'test', 'row2', 'uid', 3
  5. COUNTER VALUE = 5

查看表能够看到:

  1. hbase(main):012:0> scan 'test'
  2. ROW COLUMN+CELL
  3. row1 column=uid:1, timestamp=1381571789416, value=buym:1
  4. row2 column=uid:, timestamp=1381572436088, value=\x00\x00\x00\x
  5. 00\x00\x00\x00\x05
  6. row2 column=uid:2, timestamp=1381571805008, value=buym:20
  7. 2 row(s) in 0.0790 seconds

12. delete 命令

删除表“test”中行为“row3”, 列族“cf”中的“c”。

  1. hbase(main):015:0> delete 'test','row3','cf:c'
  2. 0 row(s) in 0.4640 seconds

13. truncate 命令——将表删除后再又一次创建

  1. hbase(main):018:0> truncate 'test'
  2. Truncating 'test' table (it may take a while):
  3. - Disabling table...
  4. - Dropping table...
  5. - Creating table...
  6. 0 row(s) in 5.6480 seconds

14. disbale、drop 命令

通过“disable”和“drop”命令删除“test”表。

  1. hbase(main):001:0> disable 'test'
  2. hbase(main):003:0> drop 'test'
  3. 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. Get started - UIkit documentation

    Get started - UIkit documentation Get started Get familiar with the basic setup and structure of UIk ...

  2. [置顶] Windows Phone后台音乐详解一

    应用于: Windows Phone 8 | Windows PhoneOS 7.1 你可以为winphone编写在后台播放音乐的app.这表示即使当用户点击返回或开始按钮离开你的应用界面时,你的应用 ...

  3. ASP.NET Core 中文文档

    ASP.NET Core 中文文档 翻译计划 五月中旬 .NET Core RC2 如期发布,我们遂决定翻译 ASP.NET Core 文档.我们在 何镇汐先生. 悲梦先生. 张仁建先生和 雷欧纳德先 ...

  4. [欧拉回路+手动开栈] poj 1780 Code

    题目链接: http://poj.org/problem? id=1780 Code Time Limit: 1000MS   Memory Limit: 65536K Total Submissio ...

  5. JavaScript编程:使用DOM操作样式表

    6.使用DOM操作样式表: 操纵元素的Style样式属性:         background-color:style.backgroundColor         color:style.col ...

  6. oradebug推进scn

    有时候我们遇到例如以下错误: ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00600: internal error ...

  7. .NET常见面试题

    面试题 1  什么是 CTS.CLS 和CLR 公共语言运行库(CLR)是一个CLI 的一个实现,包含了.NET 运行引擎和符合 CLI 的类库. 通用类型系统(CTS)包含在微软公司提交的 CLI ...

  8. 一步一步实现FormsAuthentic验证登录

    本文不讲原理,只讲用法,原理性的东西网上特别多,不过还是会对一些要用到的东西进行解释,不深入讲原理.本文中用的是Vs2012   .net mvc 4.0.原理看这篇文章,看完这个文章绝对受益匪浅. ...

  9. oracle逗号字符串拼接小工具

    oracle逗号字符串拼接小工具 http://www.zui#dai#ma.com/share/1932670249667584.htm 在使用oracle进行数据查询时,常常需要使用到in语句,如 ...

  10. Delphi安装NT服务程序时(不出现提示信息)

    如果我们不加上"/silent",那么Delphi在安装和卸载NT服务程序时候,都会出现一个提示信息,不希望出现这个提示信息,那么使用如下命令: 1,安装:“你的nt程序 /ins ...