hbase shell 命令行的操作
现有一张表:
行号 | info | edu | |
name | gender | level | |
001 | zhangSan | male | graduated |
002 | WangMaZi | female | post_graduated |
一、建表
1、语法(只需表明,各列族名):
(1):create <tableName> , <colFamily> [ ,<colFamily1> ,... ,<colFamilyN> ] // 相对(2)更简洁
(2):create <tableName>, {NAME=>'colFamilyName' } [, {NAME=>'colFamilyNameN' } ]
2、测试:
使用语法(1):
二、操作表中数据
1、添加数据(要指明表名,行键,列族名,列名,值)
i、语法(一次只能加一列):
(1):put <tableName>, <rowKey> , < colFamily : col >,value [ , stampTime ]
ii、测试:
2、查询数据
i、语法:
(1)查询一行数据:get 'tableName' , 'rowName'
(2)查询指定列族的一行数据: get 'tableName' , 'rowName' , 'colFamilyName'
(3)查询指定列族及列名的一行数据:get 'tableName' , 'rowName' , 'colFamilyName : columnName '
(4)查询表中所有行数据:scan 'tableName'
ii、测试:
(1)查询一行数据
(2)查询指定列族的一行数据
(3)查询指定列族及列名的一行数据
(4)查询所有行:
4、更新数据
i、语法:
(1):put 'tableName' , ' rowName' , 'colFamily:column' , 'new value'
ii、测试:
5、删除数据(!所谓的删除并没有删除!)
i、语法:
(1)删除单元格数据:delete 'tableName' , 'rowName' , 'colFamily:column'
(2)删除一行所有单元格:deleteall 'tableName' ,'rowName'
ii、测试:
(1)删除单元格数据:
(2)删除一行数据
6、清空表中数据(使表无效,删除该表,然后重新建表)
i.语法:truncate 'tableName'
ii.测试:
三、更新表(指表的逻辑结构,与更新数据不同)
1、语法:
(1)删除某一列族:alter 'tableName' , NAME='colFamily', METHOD='delete'
(2)添加一列族:alter 'tableName', NAME='new colFamily name'
(3)删除表【两步】:
i、disable 'tableName' #使表无效
ii、drop 'tableName'