hbase常用操作命令大全

编程语言及工具

105人已加入

描述

hbase常用操作命令大全

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。

HBase常用命令

.进入shell

图一

.表结构

1. 创建表

语法:create 《table》, {NAME =》 《family》, VERSIONS =》 《VERSIONS》}

创建一个User表,并且有一个info列族

hbase(main):002:0》 create ‘User’,‘info’0 row(s) in 1.5890 seconds

=》 Hbase::Table - User

2. 查看所有表

hbase(main):003:0》 list

TABLE

SYSTEM.CATALOG

SYSTEM.FUNCTION

SYSTEM.SEQUENCE

SYSTEM.STATS

TEST.USER

User

6 row(s) in 0.0340 seconds

=》 [“SYSTEM.CATALOG”, “SYSTEM.FUNCTION”, “SYSTEM.SEQUENCE”, “SYSTEM.STATS”, “TEST.USER”, “User”]

3. 查看表详情

hbase(main):004:0》 describe ‘User’

Table User is ENABLED

User

COLUMN FAMILIES DESCRIPTION

{NAME =》 ‘info’, BLOOMFILTER =》 ‘ROW’, VERSIONS =》 ‘1’, IN_MEMORY =》 ‘false’, KEEP_DELETED_CELLS =》 ‘FALSE’, DATA_BLOCK_ENCODING =》 ‘NONE’, TTL =》 ‘FORE

VER’, COMPRESSION =》 ‘NONE’, MIN_VERSIONS =》 ‘0’, BLOCKCACHE =》 ‘true’, BLOCKSIZE =》 ‘65536’, REPLICATION_SCOPE =》 ‘0’}

1 row(s) in 0.1410 seconds

hbase(main):025:0》 desc ‘User’

Table User is ENABLED

User

COLUMN FAMILIES DESCRIPTION

{NAME =》 ‘info’, BLOOMFILTER =》 ‘ROW’, VERSIONS =》 ‘1’, IN_MEMORY =》 ‘false’, KEEP_DELETED_CELLS =》 ‘FALSE’, DATA_BLOCK_ENCODING =》 ‘NONE’, TTL =》 ‘FORE

VER’, COMPRESSION =》 ‘NONE’, MIN_VERSIONS =》 ‘0’, BLOCKCACHE =》 ‘true’, BLOCKSIZE =》 ‘65536’, REPLICATION_SCOPE =》 ‘0’}

1 row(s) in 0.0380 seconds

4. 表修改

删除指定的列族

hbase(main):002:0》 alter ‘User’, ‘delete’ =》 ‘info’

Updating all regions with the new schema.。.

1/1 regions updated.

Done.

0 row(s) in 2.5340 seconds

.表数据

1. 插入数据

语法:put 《table》,《rowkey》,《family:column》,《value》

hbase(main):005:0》 put ‘User’, ‘row1’, ‘info:name’, ‘xiaoming’

0 row(s) in 0.1200 seconds

hbase(main):006:0》 put ‘User’, ‘row2’, ‘info:age’, ‘18’

0 row(s) in 0.0170 seconds

hbase(main):007:0》 put ‘User’, ‘row3’, ‘info:sex’, ‘man’

0 row(s) in 0.0030 seconds

2. 根据rowKey查询某个记录

语法:get 《table》,《rowkey》,[《family:column》,。..。]

hbase(main):008:0》 get ‘User’, ‘row2’

COLUMN CELL

info:age timestamp=1502368069926, value=18

1 row(s) in 0.0280 seconds

hbase(main):028:0》 get ‘User’, ‘row3’, ‘info:sex’

COLUMN CELL

info:sex timestamp=1502368093636, value=man

hbase(main):036:0》 get ‘User’, ‘row1’, {COLUMN =》 ‘info:name’}

COLUMN CELL

info:name timestamp=1502368030841, value=xiaoming

1 row(s) in 0.0120 seconds

3. 查询所有记录

语法:scan 《table》, {COLUMNS =》 [ 《family:column》,。..。 ], LIMIT =》 num}

扫描所有记录

hbase(main):009:0》 scan ‘User’

ROW COLUMN+CELL

row1 column=info:name, timestamp=1502368030841, value=xiaoming

row2 column=info:age, timestamp=1502368069926, value=18

row3 column=info:sex, timestamp=1502368093636, value=man

3 row(s) in 0.0380 seconds

扫描前2条

hbase(main):037:0》 scan ‘User’, {LIMIT =》 2}

ROW COLUMN+CELL

row1 column=info:name, timestamp=1502368030841, value=xiaoming

row2 column=info:age, timestamp=1502368069926, value=18

2 row(s) in 0.0170 seconds

范围查询

hbase(main):011:0》 scan ‘User’, {STARTROW =》 ‘row2’}

ROW COLUMN+CELL

row2 column=info:age, timestamp=1502368069926, value=18

row3 column=info:sex, timestamp=1502368093636, value=man

2 row(s) in 0.0170 seconds

hbase(main):012:0》 scan ‘User’, {STARTROW =》 ‘row2’, ENDROW =》 ‘row2’}

ROW COLUMN+CELL

row2 column=info:age, timestamp=1502368069926, value=18

1 row(s) in 0.0110 seconds

hbase(main):013:0》 scan ‘User’, {STARTROW =》 ‘row2’, ENDROW =》 ‘row3’}

ROW COLUMN+CELL

row2 column=info:age, timestamp=1502368069926, value=18

1 row(s) in 0.0120 seconds

另外,还可以添加TIMERANGE和FITLER等高级功能

STARTROW,ENDROW必须大写,否则报错;查询结果不包含等于ENDROW的结果集

4. 统计表记录数

语法:count 《table》, {INTERVAL =》 intervalNum, CACHE =》 cacheNum}

INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度

hbase(main):020:0》 count ‘User’

3 row(s) in 0.0360 seconds

=》 3

5. 删除

删除列

hbase(main):008:0》 delete ‘User’, ‘row1’, ‘info:age’

0 row(s) in 0.0290 seconds

删除所有行

hbase(main):014:0》 deleteall ‘User’, ‘row2’

0 row(s) in 0.0090 seconds

删除表中所有数据

hbase(main):016:0》 truncate ‘User’

Truncating ‘User’ table (it may take a while):

- Disabling table.。.

- Truncating table.。.

0 row(s) in 3.6610 seconds

.表管理

1. 禁用表

hbase(main):014:0》 disable ‘User’

0 row(s) in 2.2660 seconds

hbase(main):015:0》 describe ‘User’

Table User is DISABLED

User

COLUMN FAMILIES DESCRIPTION

{NAME =》 ‘info’, BLOOMFILTER =》 ‘ROW’, VERSIONS =》 ‘1’, IN_MEMORY =》 ‘false’, KEEP_DELETED_CELLS =》 ‘FALSE’, DATA_BLOCK_ENCODING =》 ‘NONE’, TTL =》 ‘FORE

VER’, COMPRESSION =》 ‘NONE’, MIN_VERSIONS =》 ‘0’, BLOCKCACHE =》 ‘true’, BLOCKSIZE =》 ‘65536’, REPLICATION_SCOPE =》 ‘0’}

1 row(s) in 0.0340 seconds

hbase(main):016:0》 scan ‘User’, {STARTROW =》 ‘row2’, ENDROW =》 ‘row3’}

ROW COLUMN+CELL

ERROR: User is disabled.

2. 启用表

hbase(main):017:0》 enable ‘User’

0 row(s) in 1.3470 seconds

hbase(main):018:0》 describe ‘User’

Table User is ENABLED

User

COLUMN FAMILIES DESCRIPTION

{NAME =》 ‘info’, BLOOMFILTER =》 ‘ROW’, VERSIONS =》 ‘1’, IN_MEMORY =》 ‘false’, KEEP_DELETED_CELLS =》 ‘FALSE’, DATA_BLOCK_ENCODING =》 ‘NONE’, TTL =》 ‘FORE

VER’, COMPRESSION =》 ‘NONE’, MIN_VERSIONS =》 ‘0’, BLOCKCACHE =》 ‘true’, BLOCKSIZE =》 ‘65536’, REPLICATION_SCOPE =》 ‘0’}

1 row(s) in 0.0310 seconds

hbase(main):019:0》 scan ‘User’, {STARTROW =》 ‘row2’, ENDROW =》 ‘row3’}

ROW COLUMN+CELL

row2 column=info:age, timestamp=1502368069926, value=18

1 row(s) in 0.0280 seconds

3. 测试表是否存在

hbase(main):022:0》 exists ‘User’

Table User does exist

0 row(s) in 0.0150 seconds

hbase(main):023:0》 exists ‘user’

Table user does not exist

0 row(s) in 0.0110 seconds

hbase(main):024:0》 exists user

NameError: undefined local variable or method `user‘ for #《Object:0x412ebe64》

4. 删除表

删除前,必须先disable

hbase(main):030:0》 drop ’TEST.USER‘

ERROR: Table TEST.USER is enabled. Disable it first.

Here is some help for this command:

Drop the named table. Table must first be disabled:

hbase》 drop ’t1‘

hbase》 drop ’ns1:t1‘

hbase(main):031:0》 disable ’TEST.USER‘

0 row(s) in 2.2640 seconds

hbase(main):033:0》 drop ’TEST.USER‘

0 row(s) in 1.2490 seconds

hbase(main):034:0》 list

TABLE

SYSTEM.CATALOG

SYSTEM.FUNCTION

SYSTEM.SEQUENCE

SYSTEM.STATS

User

5 row(s) in 0.0080 seconds

=》 [“SYSTEM.CATALOG”, “SYSTEM.FUNCTION”, “SYSTEM.SEQUENCE”, “SYSTEM.STATS”, “User”]

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分