hbase的shell和javaapi

hbase的shell和javaapi

hbase shell 进入客户端

version

status

whoami


先启动start-hbase.sh
再进入客户端 hbase shell

namespace
类似于数据库的操作
create_namespace ‘xxx’
drop_namespace ‘xxx’
describe_namespace ‘xxx’
list_namespace


ddl操作
create ‘namespace:table’,‘列簇’
create ‘mading:table1’,‘name=>f1’,‘name=>f2’
create ‘mading:table3’,{NAME=>‘f1’,NAME=>‘f2’,VERSIONS=>5}
//建表的时候可以指定每个单元格储存的版本,不指定默认用最新版本

//这么建就在default下面
create ‘table2’,‘f1’,‘f2’

查看表:
list 查看default下的表
list ‘ns.
list 'ns:t1.

查看描述信息
desc ‘ns:t1’

删除表
drop ‘table1’
注意hbase中 删除表之前要先禁用表
disable ‘mading:table1’
disable all
enable ‘xx’
enable all
查看表是否是禁用
is_disabled ‘x’
is_enabled ‘x’

表的修改
alter ‘表’,NAME=>‘f3’,VERSIONS=>3
如果不存在就是添加列簇,存在就是修改

删除列簇:
alter ‘表’,NAME=>‘f3’,METHOD=>‘delete’
或者
alter ‘biao’,‘delete’=>‘f3’
只有一个列簇的时候不能删除


dml操作

数据插入
put ‘表’,‘行键’,‘列簇:列名’,‘值’
put ‘mading:table1’,‘rk001’,‘f1:name’,‘tom’

全表扫描:
scan ‘表名’

数据查询:
单条数据查询
查询某一行的数据就用表名加行键
get ‘table2’,‘rk001’
查询某一行的某个列簇下的数据就用表名加行键加列簇
get ‘table2’,‘rk001’,‘f1’
查询某一行的某个列簇下某一列的数据就用表名加行键加列簇加列名
get ‘table2’,‘rk001’,‘f1:name’
查看指定时间戳范围内的数据
get ‘table2’,‘rk001’,TIMERANGE=>[1111,22222]
左包含右不包含
给时间戳的具体值也行TIMESTAMP
VERSIONS来查几个版本的

指定扫描范围:
scan ‘table2’,{COLUMNS=>[‘f1:name’,‘f2:age’],LIMIT=>3}
scan ‘table2’,{COLUMNS=>[‘f1:name’,‘f2:age’],STARTROW=>x,ENDROW=>y}
scan ‘table2’,{COLUMNS=>[‘f1:name’,‘f2:age’],TIMERANGE=>[11,22]}

数据删除:
delete ‘table’,‘rk001’,‘f1:name’,ts

数据清空:
数据清空,但是表结构是保留的
truncate ‘table2’
也是先停用表

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值