hbase shell基本操作命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lzxlfly/article/details/81014013

1、创建表

#创建表t_task_log,其他保持默认
create 't_task_log', 'data'

#创建表t_task_log,列族data,并预分区[0,f],预分区根据row的业务设计
create 't_task_log', 'data', SPLITS => ['0', '1','2', '3','4', '5','6','7','8','9','a', 'b', 'c', 'd', 'e', 'f']

2、删除表

disable 't_task_log' #先禁用表
drop 't_task_log' #再删除表

3、清空表

truncate 't_task_log' #清空表数据

4、查看表

desc 't_task_log' 或 describe 't_task_log'

5、添加记录

put 't_task_log','1100','data:name','zhangsan'

6、删除记录

删除指定行中指定列:delete 't_task_log','1100','data:name'
删除一行数据:deleteall 't_task_log','1100'

7、修改记录

    修改记录直接覆盖就好和添加记录一样  ,如把‘zhangsan’改为‘lisi’ 

put 't_task_log','1100','data:name','lisi'

8、查询记录

get 't_task_log','1100' #查询一行记录
get 't_task_log','1100','data' #查询一行记录,指定列族
get 't_task_log','1100','data:name' #查询一行记录,指定列名
get "t_task_log","1100",{TIMESTAMP => 1531193829440} #查询一行记录,指定版本
scan 't_task_log'  #全表扫描查询,表数据量大时建议不要这样做
scan 't_task_log', {LIMIT => 10} #查询前多少行,如前10行

9、查看表结构

VERSIONS => '1'保持1个版本数据,TTL => 'FOREVER' 永久有效,BLOCKCACHE => 'true'开启读缓存,BLOCKSIZE => '65536' 缓存大小65536字节,即64k,IN_MEMORY => 'false'缓存在磁盘,不在内存,建议设置成true,缓存在内存中,可提高查询速度。

#查看表描述
hbase(main):011:0> describe 't_task_log'
Table t_task_log is ENABLED                                                                                                           
t_task_log                                                                                                                            
COLUMN FAMILIES DESCRIPTION                                                                                                           
{NAME => 'data', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'N
ONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '
0'}                                                                                                                                   
1 row(s) in 0.0940 seconds

10、表空间操作

    hbase有两个默认的表空间:

  • hbase:系统内建表,包括namespace和meta表
  • default:用户建表时未指定namespace的表都创建在此

    (1)列出所有表空间

    list_namespace

    (2)创建表空间

    create_namespace 'ns2'

    (3)删除表空间

    drop_namespace 'ns2'

    (4)查看表空间下的表

    list_namespace_tables 'ns2'

        注意:如果指定了表空间,以后该表空间下的所有表操作,都要带上表空间名,如:scan 'ns2:t_task_log'

猜你喜欢

转载自blog.csdn.net/lzxlfly/article/details/81014013