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'