hbase数据操作命令(DDL)

Hbase数据操作命令DDL主要是用于对表数据的修改,如向表中增加数据,从表中检索获取数据以及从表中删除数据等操作。相关命令整理如下,student表结构如下:

行键 列族grsj 列族zysj 时间戳
xm00(姓名) nl00(年龄) xb00(性别) sxcj(数学) ywcj语文
0001 张三 20 1 90 94  
0002 李四 21 2 86 89  
0003 王五 20 1 91 92  

hbase count 计数

使用count命令可以获取表的总行数。

语法:

    count '<表名>'

例子:

计算student表当中的行数。(因为上一章节并未插入数据)如下:

count 'student'

hbase put 插入更新

使用 put 命令,我们可以将行数据插入表中或者更新表格的现有单元格值。

语法:

    put '<table name>','row1','<colfamily:colname>','<value>'

更新:

   put 'table name','row','Colfamily:colname','newvalue'

例子:

向student表当中插入张三的数据,时间戳不填的情况下,会自动填入系统时间,如下:

put 'student' ,'0001','grsj:xm00','张三'

put 'student' ,'0001','grsj:nl00','20'

put 'student','0001','grsj:xb00','1'

put 'student','0001','zysj:sxcj','90'

put 'student','0001','zysj:ywcj','94'

然后,再对张三的数学成绩进行修改为91,也是使用put命令,当hbase的put命令输入的单元格有数据就是更新,没有数据就是插入。如下:

put 'student','0001','zysj:sxcj','91'

hbase get 查询

使用get命令,从hbase表当中查询数据。hbase只能一次获取一行数据

语法:

    get '<表名>','row1'

例子:

查询第一个学生(张三)的数据,如下:

get 'student','0001'

hbase get 查询

由于hbase是用字节存储数据的,所以这里汉字会变成字符字节。


hbase delete 删除

使用 delete 命令我们可以删除表当中特定单元格的数据。

语法:

    delete '<表名>','<行>','<列名>'、'<时间戳>'

当delete的列名只指定到列族,那就会删除对应列族下所有列名中该行的所有数据。

不指定时间戳,就会使用当前时间戳,删除所有版本数据,当指定时间戳,会删除小于等于时间戳的数据

例子:

删除第一个学生(张三)的年龄数据:

delete 'student' ,'0001','grsj:nl00'

hbase delete 删除


hbase deleteall 删除

使用 deleteall 命令我们可以删除表中一行所有单元格数据

语法:

    deleteall '<表名>','<行>'

例子:

删除第一个学生(张三)的数据:

deleteall 'student','0001'

hbase truncate 

使用 truncate命令,可以清空表中所有行。

语法:

    truncate '<表名>'

例子:

清空student表:

truncate 'student'

hbase scan 获取所有数据

使用 can命令获取表中所有数据,包括不同时间戳下单元格的数据。

语法:

    scan '<表名>'

例子:

scan student所有学生:

scan 'student'