Hbase学习笔记(三)-hbase shell 常用命令

Hbase shell 常用命令

名称命令表达式
创建表create ‘表名称’, ‘列名称1’,‘列名称2’,‘列名称N’
添加记录put ‘表名称’, ‘行名称’, ‘列名称:’, ‘值’
查看记录get ‘表名称’, ‘行名称’
查看表中的记录总数count ‘表名称’
删除记录delete ‘表名’ ,‘行名称’ , ‘列名称’
删除一张表先要屏蔽该表,才能对该表进行删除,第一步 disable ‘表名称’ 第二步 drop ‘表名称’
查看所有记录scan “表名称”
查看某个表某个列中所有数据scan “表名称” , [‘列名称:’]
更新记录就是重写一遍进行覆盖

1.一般操作

1.1.查询服务器状态

hbase(main):008:0> status
1 active master, 0 backup masters, 1 servers, 0 dead, 2.0000 average load

在这里插入图片描述

1.2 查询hive版本

hbase(main):009:0> version
1.2.6, rUnknown, Mon May 29 02:25:32 CDT 2017

在这里插入图片描述

2.DDL操作
DDL(data definition language)数据库定义语言:其实就是我们在创建表的时候用到的一些sql,比如说:CREATE、ALTER、DROP等。DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上。

2.1 创建一个表

hbase>create ‘table_name’, {NAME=>‘columnFamily’}, {NAME=>‘columnFamily2’}…
=====>(更简化版本):create ‘table_name’,‘columnFamily’
创建表hbase_test有两个列族CF1和CF2

hbase(main):041:0>create 'hbase_test',  {NAME=>'cf1'},{NAME=>'cf2'}
hbase(main):014:0> create 'hbase_test',{NAME=>'cf1'},{NAME=>'cf2'}
0 row(s) in 2.2310 seconds
=> Hbase::Table - hbase_test
hbase(main):015:0> create 'hbase_test2','cf1','cf2'
0 row(s) in 2.2340 seconds
=> Hbase::Table - hbase_test2
hbase(main):016:0> list
TABLE
hbase_test
hbase_test2
member
3 row(s) in 0.0130 seconds
=> ["hbase_test", "hbase_test2", "member"]
hbase(main):017:0>

在这里插入图片描述
2.2 查看库中所有表

hbase(main):016:0> list
TABLE
hbase_test
hbase_test2
member
3 row(s) in 0.0130 seconds

在这里插入图片描述
2.3 获得表的描述

hbase(main):017:0> describe 'hbase_test'
Table hbase_test is ENABLED
hbase_test
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf1', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION
_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL
=> 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY =>
'false', BLOCKCACHE => 'true'}
{NAME => 'cf2', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION
_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL
=> 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY =>
'false', BLOCKCACHE => 'true'}
2 row(s) in 0.0630 seconds
hbase(main):018:0>

在这里插入图片描述

2.4 删除一个列族,alter,disable,enable
我们之前建了3个列族,但是发现member_id这个列族是多余的,因为他就是主键,所以我们要将其删除。

hbase(main):011:0> alter 'member',{NAME=>'member_id',METHOD=>'delete'}
Updating all regions with the new schema...
0/1 regions updated.
1/1 regions updated.
Done.
0 row(s) in 3.1700 seconds

查看表描述

hbase(main):012:0> describe 'member'
Table member is ENABLED
member
COLUMN FAMILIES DESCRIPTION
{NAME => 'address', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICA
TION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0',
TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY
 => 'false', BLOCKCACHE => 'true'}
{NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATIO
N_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL
 => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY =>
 'false', BLOCKCACHE => 'true'}
2 row(s) in 0.0360 seconds

该列族已经删除

2.5 命令禁用表

 disable 'table_name' 

在这里插入图片描述

2.6 命令启用表

enable    'table_name'

在这里插入图片描述

2.7 清空&删除

清空:truncate 'table_name'
删除:先disable 在drop (1)disable ‘table_name’(2) drop ‘table_name’

2.8 查询表是否存在

命令:exists ‘table_name’

在这里插入图片描述
2.9 判断表是否enable

命令:is_enabled  ' table_name '

在这里插入图片描述
2.10 判断表是否disable

命令:is_disabled ‘table_name’

在这里插入图片描述

2.11 修改表
需要先disable ‘table_name’,修改完成后enable ‘table_name’
示例:

 alter 'table_name',{NAME=>'cf1'},{NAME=>'cf2'}

在这里插入图片描述

3.DML操作
DML(data manipulation language)数据操纵语言:就是我们最经常用到的 SELECT、UPDATE、INSERT、DELETE。 主要用来对数据库的数据进行一些操作。

3.1 插入数据

命令:put ‘table_name’,’ rowKey’,’列簇:列’,’value’

在这里插入图片描述
在这里插入图片描述

3.2 获取一条数据
3.2.1 获取一个id的所有数据

命令: get ‘table_name’ , ‘rowKey’

在这里插入图片描述
3.2.2获取一个id,一个列族的所有数据

命令: get ‘table_name’ , ‘rowKey’, ‘列簇’

在这里插入图片描述
3.2.3获取一个id,一个列族中一个列的所有数据

命令: get ‘table_name’ , ‘rowKey’, ‘列簇:列’

在这里插入图片描述
3.3更新一条数据
更新一条数据就是插入一条数据

命令:put ‘table_name’,’ rowKey’,’列簇:列’,’value’

在这里插入图片描述

3.4.通过timestamp来获取数据

命令:get ‘table_name’,’rowKey’,{COLUMN=>’info:age’,TIMESTAMP=>’ 1547693223057’}

在这里插入图片描述
3.5全表扫描

命令: scan ‘table_name’

在这里插入图片描述
3.6删除id为temp的值的‘info:age’字段

   命令: delete ‘table_name’,'rowKey','列簇:列'

在这里插入图片描述
在这里插入图片描述

3.7删除整行

命令:deteleall ‘table_name’,’rowKey’

在这里插入图片描述
3.8查询表中有多少行

命令:count ‘table_name’

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值