linux下hbase指令快使用无介绍版(一)

linux下hbase指令快使用无介绍版(一)

  • 问题背景
  • hbase指令
  • 心得
  • Lyric:平地一声雷

问题背景

平常项目基本都是直接在代码里面执行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

,,,
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

,,[, …]

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:平地一声雷

你可能感兴趣的:(hbase开发常遇问题,hbase,linux,bash)