现在想要创建如下格式的表用来存储数据,请在HBase中使用Shell命令实现
进入HBase Shell环境
[root@cdh03 ~]# hbase shell
先创建表(这里没有指定表空间,使用的默认的,如果想指定表空间
可以使用 xxNameSpace:TableName
的形式)
hbase(main):051:0> create 'emp',{NAME => 'self'},{NAME => 'social'},{NAME => 'addressHis'}
NAME一定要大写是固定的语法
接着往里面放数据就完事了
hbase(main):044:0> put 'emp','row1','self:name','Rone'
hbase(main):045:0> put 'emp','row1','self:age','18'
hbase(main):046:0> put 'emp','row1','self:height','180cm'
hbase(main):047:0> put 'emp','row1','self:weight','65kg'
hbase(main):048:0> put 'emp','row1','social:job','Big Data Engineer'
hbase(main):049:0> put 'emp','row1','social:CurrCompany','AWS'
hbase(main):050:0> put 'emp','row1','social:oldCompany','QQC'
hbase(main):051:0> put 'emp','row1','addressHis:tenYearsAgo','JiangsuXuZhou'
hbase(main):052:0> put 'emp','row1','addressHis:fiveYearsAgo','JiangsuNanJing'
hbase(main):053:0> put 'emp','row1','addressHis:now','ShangHai'
现在第一行数据全部put进去了 ,现在看一下存储的内容
hbase(main):055:0> scan 'emp'
Alex与Adam的put数据是一样的我就不写了,格式规则如下
put '[表空间:]表名' ,'行','列簇 : 列',' Value'
查询数据
查询第一行的所有数据
hbase(main):057:0> get 'emp','row1'
查询某行某一列簇的所有值
get ‘表名’,‘行’,‘列簇名’
hbase(main):058:0>get 'emp','row1','self'
查询表中某行+某一列簇+某一列的值
get ‘表名’,‘行’,‘列簇名:列名’
hbase(main):059:0> get 'emp','row1','self:name'
更新数据
更新某一行,其实就是在重新put一下,就是更新操作了
这里更新一下Rone的Age字段为999
hbase(main):060:0> put 'emp','row1','self:age','999'
删除某一列簇
hbase(main):069:0> alter 'emp',{NAME => 'addressHis',METHOD => 'delete'}
清空表
hbase(main):079:0> truncate 'emp'
新增一列列簇(
表需要处于Disabled状态
)
hbase(main):022:0> alter 'emp',{NAME => 'addressHis'},{NAME => 'self'}
新增多列列簇
alter 'emp',{NAME => 'addressHis'},{NAME => 'selfs'}
为新增的列簇添加列+赋值(表需要处于Enable状态
)
put ‘表名’,‘行号’,‘列簇:新增的列名’,‘值
’
hbase(main):024:0> put 'emp','row1','self:name','Jhon'
删除表
首先要disabled要删除的表,然后再删除
hbase(main):076:0> disable 'emp'
hbase(main):077:0> drop 'emp'