Hbase常用命令

hbase shell命令的使用

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

[email protected]:/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常用命令,布布扣,bubuko.com

时间: 2024-10-24 17:26:17

Hbase常用命令的相关文章

HBase 常用命令

1. 启动Hbase hbase shell 2. 查看表若干列 scan '表名',{LIMIT => 10}

hbase shell常用命令

hive常用命令 show tables; 列出hive里面所有数据表名 desc userProfile; 显示数据表userProfile的基本表字段及字段type desc extended trackinfo; 显示数据表trackinfo的详细信息,包括字段说明,数据表等 /usr/local/cloud/hive/bin/hive 进入hive数据库 select attribute_name from pms_attribute where attribute_id=21000 a

hbase shell基础和常用命令详解

HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务. 1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase

hbase shell基础和常用命令详解(转)

HBase shell的基本用法 hbase提供了一个shell的终端给用户交互.使用命令hbase shell进入命令界面.通过执行 help可以看到命令的帮助信息. 以网上的一个学生成绩表的例子来演示hbase的用法. name grad course math art Tom 5 97 87 Jim 4 89 80 这里grad对于表来说是一个只有它自己的列族,course对于表来说是一个有两个列的列族,这个列族由两个列组成math和art,当然我们可以根据我们的需要在course中建立更

HBase Shell 常用命令及例子

下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 create '表名称', '列名称1','列名称2','列名称N' 添加记录       put '表名称', '行名称', '列名称:', '值' 查看记录 get '表名称', '行名称' 查看表中的记录总数 count  '表名称' 删除记录 delete  '表名' ,'行名称' , '列名称' 删除一张表 先要屏蔽该表,才能对该表进行删除,第一步 di

hbase shell 常用命令

hbase shell 常用命令: 名称 ------- 命令表达式 创建表 ------- create '表名称', '列名称1','列名称2','列名称N' 添加记录 ------- put '表名称', '行名称', '列名称:', '值' 查看记录 ------- get '表名称', '行名称' 查看表中的记录总数 ------- count '表名称' 删除记录 ------- delete '表名' ,'行名称' , '列名称' 删除一张表 ------- 先要屏蔽该表,才能对该

(转)HBase 常用Shell命令

转自:http://my.oschina.net/u/189445/blog/595232 hbase shell命令                             描述  alter 修改列族(column family)模式 count 统计表中行的数量 create 创建表 describe 显示表相关的详细信息 delete 删除指定对象的值(可以为表,行,列对应的值,另外也可以指定时间戳的值) deleteall 删除指定行的所有元素值 disable 使表无效 drop 删

大数据每日干货第四天(linux基础之一目录结构与常用命令)

为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop.hive.flume.hbase等,再到实时数据分析包括storm.kafka.redias等,最后的内存计算部分包括scala.spark.机器学习,这样循序渐进,能够系统化学习. linux基础部分会分几天进行分享,今天主要讲解的是linux介绍,目录机构与常用的命令. 1.linux介绍 lLinux是一种

[sqoop]sqoop入门-下载、安装、运行和常用命令

一.简介 Apache Sqoop is a tool designed for efficiently transferring data betweeen structured, semi-structured and unstructured data sources. Relational databases are examples of structured data sources with well defined schema for the data they store.