-- 帮助命令
help group_command
hbase(main):010:0> help 'ddl'
help command
hbase(main):010:0> help 'create'
hbase(main):053:0* create 't1', {NAME => 'f1', VERSIONS => 5}
-- namespace
hbase(main):055:0> list_namespace
list_namespace list_namespace_tables
hbase(main):055:0> list_namespace
NAMESPACE
default
hbase
2 row(s) in 0.2090 seconds
hbase(main):056:0> create_namespace 'ns1'
0 row(s) in 1.1740 seconds
hbase(main):057:0> create 'ns1:t1', {NAME => 'f1', VERSIONS => 5}
0 row(s) in 1.3330 seconds
=> Hbase::Table - ns1:t1
hbase(main):058:0> list_namespace
list_namespace list_namespace_tables
hbase(main):058:0> list_namespace_tables 'ns1'
TABLE
t1
1 row(s) in 0.0260 seconds
--添加,修改一个属性
hbase(main):067:0> alter_namespace 'ns1',{METHOD=>'set','NAMESPACE_NAME'=>'a1'}
--删除一个属性
hbase(main):069:0> alter_namespace 'ns1',{METHOD=>'unset',NAME=>'NAMESPACE_NAME'}
--前提是该namespace是空的
hbase(main):069:0> drop_namespace 'ns1'
-- 创建表
hbase(main):071:0* create 't2','cf1'
create 't4',{NAME => 'cf1', BLOOMFILTER => 'ROW', VERSIONS => '3', IN_MEMORY => 'TRUE', TTL => '3600', COMPRESSION => 'NONE', MIN_VERSIONS => '1', BLOCKCACHE => 'true'}
-- 创建预分区
hbase(main):128:0> create 't5','cf1',SPLITS => ['10', '20', '30', '40']
-- 查看表详情
hbase(main):130:0> describe 't5'
hbase(main):130:0> desc 't5'
-- 列出表
hbase(main):130:0> list
hbase(main):138:0> list "t.*"
-- 修改 -- 需要加NAME
hbase(main):138:0> alter 'ns1:t1', {NAME=> 'f1',VERSIONS => '3', IN_MEMORY => 'true'}
-- 下线
hbase(main):138:0> disable 'ns1:t1'
-- 上下线状态
hbase(main):146:0> is_disabled 'ns1:t1'
true
hbase(main):146:0> is_enabled 'ns1:t1'
false
-- 上线
hbase(main):138:0> enable 'ns1:t1'
-- 删除表
hbase(main):149:0> disable 'ns1:t1'
hbase(main):149:0> drop 'ns1:t1'
-- 清空表
hbase(main):150:0> truncate 'ns1:t1'
====》DML操作
-- 存储
hbase(main):152:0> put 't1','rk1','f1:name','goudan'
hbase(main):152:0> put 't1','rk2','f1:age','18'
put 't1','rk2','f1:sex','1'
put 't1','rk2','f1:high',180
put 't1','rk3','f1:name','laowang'
put 't1','rk3','f1:high','178'
put 't1', 'rk4', 'f1:name', 'bingbing', 1626329179078
-- scan查询数据 -- 扫描多行数据
hbase(main):163:0> scan 't1'
-- 查询指定列
scan 't1',{COLUMNS => 'f1:name'}
scan 't1', {COLUMNS => ['f1:name', 'f1:age'], LIMIT => 2, STARTROW => 'rk1'}
scan 't1', {COLUMNS => 'f1:name', TIMERANGE => [1626328990952, 1626329179987]}
-- 指定过滤器
scan 't1', {ROWPREFIXFILTER => 'rk'}
scan 't1', {ROWPREFIXFILTER => 'rk',FILTER => "QualifierFilter (>=, 'binary:sec')"}
-- get数据 --- 单行查询(效率最高)
hbase(main):011:0* get 't1','rk2'
hbase(main):013:0> get 't1','rk2',{COLUMN=>'f1:name'}
get 't1','rk2', {FILTER => "ValueFilter(=, 'binary:18')"}
-- 指定值过滤器
hbase(main):019:0> get 't1','rk2', {COLUMN=>'f1:age',FILTER => "ValueFilter(=, 'binary:18')"}
-- 修改数据
hbase(main):022:0> put 't1','rk0','f1:name','zs'
hbase(main):022:0> put 't1','rk0','f1:name','ls'
hbase(main):022:0> put 't1','rk0','f1:name','ww'
-- 查询多个版本数据
hbase(main):029:0> scan 't1', {RAW => true, VERSIONS => 10}
hbase(main):031:0> put 't1','rk0','f1:name','laotie'
hbase(main):029:0> scan 't1', {RAW => true, VERSIONS => 10}
-- 手动合并和刷新
hbase(main):085:0> compact 't1'
0 row(s) in 0.0830 seconds
hbase(main):086:0> flush 't1'
hbase(main):087:0> scan 't1', {RAW => true, VERSIONS => 10}
ROW COLUMN+CELL
rk0 column=f1:name, timestamp=1626330768438, value=laotie
rk0 column=f1:name, timestamp=1626330615750, value=ww
rk0 column=f1:name, timestamp=1626330610992, value=ls
-- 自增
incr 't1', 'rk5', 'f1:age',2 ???
-- 删除
hbase(main):076:0> delete 't1','rk5','f1:age'
-- 删除整行
hbase(main):076:0> deleteall 't1','rk4'
-- 存在
hbase(main):079:0> exists 't1'
Table t1 does exist
-- 统计行数
hbase(main):080:0> count 't1'
4 row(s) in 0.0260 seconds
小白学hadoop日记day14——hbase shell操作
HBase教程:从基础到高级操作详解
最新推荐文章于 2024-06-17 16:22:05 发布
本文详细介绍了HBase的基本命令、命名空间管理、表的创建、修改与删除,包括DDL操作、DML操作如存储、查询、修改和删除,以及数据版本管理和维护技巧。涵盖了表设计、数据操作和运维实践。
904

被折叠的 条评论
为什么被折叠?



