HBase基础 --- 增删查改
目录
创建表
查看指定表全名空间中的表
查看表描述
禁用/启用
查看禁用/启动状态
删除表
新增列族
删除列族
更改列族存储版本的限制
增加数据
根据条件查询
查看指定列中不同版本的数据
删除指定列族下的指定列
删除指定行
全表扫描
全表扫描指定列族
全表扫描指定列族指定列
扫描指定起始行至结束行(不包含)
值包含njdx
值等于24
列以birth开头的
以birth开头,且值中包含2022
以birth开头,且 值中包含2022 或者 1999
创建表
表中有两个列族 baseinfo, schoolinfo
create 'bigdata:student','baseinfo','schoolinfo'
查看指定表全名空间中的表
list_namespace_tables 'bigdata'
查看表描述
desc/describe 'bigdata:student'
禁用/启用
disable 'bigdata:student'
enable 'bigdata:student'
查看禁用/启动状态
is_disabled 'bigdata:student'
is_enabled 'bigdata:student'
删除表
删除表时要先将删除的表设置为 “禁用” 状态才可以删除,否则会报错
drop 'bigdata:student'
新增列族
alter 'bigdata:student','teacherinfo'
删除列族
alter 'bigdata:student',{NAME=>'teacherinfo',METHOD=>'delete'}
更改列族存储版本的限制
alter 'bigdata:student',{NAME=>'baseinfo',VERSIONS=>3}
增加数据
put 'bigdata:student','rowkey1','baseinfo:name','tom'
put 'bigdata:student','rowkey1','baseinfo:birthday','1999-01-01'
put 'bigdata:student','rowkey1','baseinfo:age','24'
put 'bigdata:student','rowkey1','schoolinfo:name','njdx'
put 'bigdata:student','rowkey1','schoolinfo:address','jiangsu'
根据条件查询
get 'bigdata:student','rowkey1'
get 'bigdata:student','rowkey1','baseinfo'
get 'bigdata:student','rowkey1','schoolinfo'
get 'bigdata:student','rowkey1','baseinfo:name'
get 'bigdata:student','rowkey1',{COLUMN=>'baseinfo:name'}
查看指定列中不同版本的数据
get 'bigdata:student','rowkey1',{COLUMN=>'baseinfo:name','VERSIONS'=>3}
删除指定列族下的指定列
delete 'bigdata:student','rowkey1','baseinfo:age'
删除指定行
deleteall 'bigdata:student','rowkey1'
全表扫描
scan 'bigdata:student'
全表扫描指定列族
scan 'bigdata:student', COLUMN=>'baseinfo'
全表扫描指定列族指定列
scan 'bigdata:student', COLUMN=>'baseinfo:birthday'
扫描指定起始行至结束行(不包含)
#从第一个开始到最后一,不包含最后一个
scan 'bigdata:student',{COLUMNS=>'baseinfo:name',
STARTROW=>'rowkey1', STOPROW=>'rowkey4'}#指定三条
scan 'bigdata:student',{COLUMNS=>'baseinfo:name',
STARTROW=>'rowkey1', STOPROW=>'rowkey4', LIMIT=>3}#列中不同版本的数据
scan 'bigdata:student',{COLUMNS=>'baseinfo:name',
STARTROW=>'rowkey1', STOPROW=>'rowkey4', LIMIT=>3,VERSIONS=>3}
如果不写结束行则默认到最后一行
值包含njdx
scan 'bigdata:student',FILTER=>"ValueFilter(=,'substring:njdx')"
值等于24
scan 'bigdata:student',FILTER=>"ValueFilter(=,'binary:24')"
列以birth开头的
scan 'bigdata:student',FILTER=>"ColumnPrefixFilter('birth')"
以birth开头,且值中包含2022
scan 'bigdata:student', FILTER=>"ColumnPrefixFilter('birth')
AND ValueFilter(=,'substring:2022')"
以birth开头,且 值中包含2022 或者 1999
scan 'bigdata:student',FILTER=>"ColumnPrefixFilter('birth')
AND ValueFilter(=,'substring:2022')
OR ValueFilter(=,'substring:1999')"