linux下hbase指令快使用无介绍版(一)
linux下hbase指令快使用无介绍版(一)
问题背景
平常项目基本都是直接在代码里面执行hbase查询工作,在linux下操作hbase的指令总是忘记,基于此基础,写一个快速使用版的
注意事项:
- 默认已安装hbase,并配置环境变量
hbase指令
1 登录hbase环境
hbase shell
2 查看数据库version
version
3 显示当前用户与组
whoami
4 查看操作表的命令
table_help
5 退出Hbase shell
exit
quit
6 查看hbase状态
status
7 创建一个命名空间,default:没有显式指定命名空间的表将自动落入此命名空间
create_namespace 'my_namespace'
8 删除命名空间
drop_namespace 'my_namespace'
9 查看namespace详细信息
describe_namespace 'my_namespace'
10 列出所有命名空间
list_namespace
11 DDL数据库操作命令,创建表,没有指定命名空间,默认使用default
# 语法
create '表名', {NAME => '列族名1'}, {NAME => '列族名2'}, {NAME => '列族名3'}
# 此种方式是上上面的简写方式,使用上面方式可以为列族指定更多的属性,如VERSIONS、TTL、BLOCKCACHE、CONFIGURATION等属性
create '表名', '列族名1', '列族名2', '列族名3'
create '表名', {NAME => '列族名1', VERSIONS => 版本号, TTL => 过期时间, BLOCKCACHE => true}
示例
create 'my_user', 'info', 'detail'
create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
12 使用命名空间创建表,单个列族和多个列族
create 'my_namespace:my_table_1', 'aaaa'
create 'my_namespace:my_table_2', 'aaaa', 'bbbbb'
13 查看所有的表
list
14 查看表的详细信息
describe 'my_user'
15 判断表名是否存在
exists 'my_user'
16 启用或者禁用表
禁止
is_disabled 'my_user'
使能
is_enabled 'my_user'
17 在表里添加一条数据,使用默认命名空间,语法:
put <table>,<rowkey>,<family:column>,<value>
put 表名 行键 列族:列名 值
put 'my_user', 'row1', 'info:name', 'xiaoxiao'
put 'my_user', 'row2', 'info:age', '18'
put 'my_user', 'row3', 'info:sex', 'man'
18 使用my_namespace命名空间,添加一条数据
put 表名 行键 列族:列名 值
put 'my_namespace:my_user', 'row1', 'info:name', 'xiaoxiao'
put 'my_namespace:my_user', 'row1', 'info:age', '18'
put 'my_namespace:my_user', 'row1', 'info:sex', 'man'
19 查询一条记录,get <table>,<rowkey>,[<family:column>, …]
get 'my_namespace:my_user', 'row1'
get 'my_namespace:my_user', 'row1', 'info:name'
get 'my_namespace:my_user', 'row1', {COLUMN => 'info:name'}
get 'my_namespace:my_user', 'row1', {COLUMN => ['info:name','info:age']}
20 查看表的所有数据
scan 'my_namespace:my_user'
21 查看表前两条数据
scan 'my_namespace:my_user', {LIMIT => 2}
22 删除列
delete 'my_namespace:my_user', 'row1', 'info:name'
23 删除整行
deleteall 'my_namespace:my_user', 'row1'
23 删除表里面所有数据,不是把表删除了
truncate 'my_namespace:my_user'
24 删除表,先禁用表,再删除
disable 'my_namespace:my_user'
drop 'my_namespace:my_user'
7 添加列族
# 语法
alter '表名', '列族名'
示例
alter 'tbl_user', 'address'
8 删除列族
# 语法
alter '表名', {NAME=> '列族名', METHOD=> 'delete'}
示例
alter 'tbl_user', {NAME=> 'address', METHOD=> 'delete'}
9 修改列族的属性,修改列族的VERSIONS、IN_MEMORY
# 修改f1列族的版本为5
alter 't1', NAME => 'f1', VERSIONS => 5
# 修改多个列族,修改f2为内存,版本号为5
alter 't1', 'f1', {NAME => 'f2', IN_MEMORY => true}, {NAME => 'f3', VERSIONS => 5}
可以修改table-scope属性,例如MAX_FILESIZE, READONLY,MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH等。
例如,修改region的最大大小为128MB:
alter 't1', MAX_FILESIZE => '134217728'
心得
- 只要安装了hbase,拿着指令直接测试
作为程序员第 72 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …
Lyric:平地一声雷
更多推荐
所有评论(0)