Hbase学习(四):HBase DDL与DML操作

Hbase学习(四):HBase DDL与DML操作

1. HBASE Shell的DDL操作

1. 创建表 语法:create ‘表名’ , ‘列族名字1’ ,列族名字2’ ,列族名字n’

例如:create 'test2','test_id', ‘testname’

创建表test2,有两个列族test_id, testname

2. 列出全部表 语法:list

例如:list

3. 得到表的描述 语法: describe ‘表名’

例如: describe 'test2’

4. 删除一个列族:需要三个命令:

1) disable ‘表名’

2) alter ‘表名’, {NAME=>‘列族名字’, METHOD=>‘delete’}

3) enable ‘表名’

例如: disable ‘test2’

alter ‘test2’, {NAME=>‘testname’, METHOD=>‘delete’}

enable ‘test2'

5. 查看表是否存在 语法:exists '表名’

例如:exists 'test2'

6. 判断表是否为‘enable’ 语法:is_enabled '表名’

例如: is_enabled 'test2'

判断表是否为‘disable’语法: is_disabled '表名’

例如: is_disabled 'test2'

7. 删除一个表,需要两个命令:

1) disable ‘表名’

2) drop '表名'

例如:1) disable ‘test2’

2) drop 'test2'

2. HBASE Shell的DML操作

1. 添加一条数据

语法: put '表名', '行名', '列族名:列名', '值'

例如:

put 'person', 'per1', 'personinfo:name', 'xiaoshu'

put 'person', 'per1', 'personinfo:age', '59'

2. 全表扫描

语法: scan ‘表名’

例如: scan ‘person’

3. 获得某一行的所有数据:

语法:get '表名', '行名'

例如:get 'person','per1'

4. 获取某行,某列族的所有数据

语法: get ‘表名’, ‘行名’, ‘列族名'

例如:

get ‘person’,‘per1’,‘personinfo’

5. 获取某行,某列族,某列的所有数据

语法: get ‘表名’, ‘行名’, ‘列族名:列名’

例如: get 'person','per1','personinfo:age’

6. 更新一条数据,语法等同添加

语法: put '表名', '行名', '列族名:列名', '值'

例如:

put 'person', 'per1', 'personinfo:age', '69'

7. 删除某行,某列族,某列的值

语法:delete ‘表名’,‘行名’,‘列族:列’

例如:delete ‘person’,‘per1’,‘personinfo:age’

8. 删除整行

语法:deleteall '表名','行名’

例如:deleteall ' person ',' per1 '

9. 统计表的行数

语法:count ‘表名’

例如: count ' person '

10. 清空表

语法: truncate ‘表名’

例如: truncate ' person '


相关推荐