返回主页
Marked in the browser
#**实例简述**
本节将在命令行HBase环境下创建employee表,其包含两个列族:personal_data和professional_data,其中personal_data包含name,age两个限定符记录员工个人信息,professional_data包含position限定符记录员工职位。
#**实验环境**
本实验在ecs服务器上进行,采用HBase伪分布式模式,已开启Hadoop和HBase,开启流程见 (01-HBase安装)。
###**创建employee表**
使用create命令创建表:
```
create 'employee', 'personal_data', 'professional_data'
```
命令执行如下:

该命令创建了'employee'表,属性有'personal_data'和'professional_data'。创建完后,使用describe命令查看表信息:

###**插入数据**
使用put命令插入数据:
```
put 'employee', '1', 'personal_data:name', 'John'
put 'employee', '1', 'personal_data:age', '30'
put 'employee', '1', 'professional_data:position', 'Manager'
put 'employee', '2', 'personal_data:name', 'Jane'
put 'employee', '2', 'personal_data:age', '35'
put 'employee', '2', 'professional_data:position', 'Engineer'
put 'employee', '3', 'personal_data:name', 'Alice'
put 'employee', '3', 'personal_data:age', '28'
put 'employee', '3', 'professional_data:position', 'Analyst'
```
命令运行如下:

在表中我们插入了三个人的详细信息,职业分别是Manager,Engineer,Analyst,并插入了每个人的具体姓名和年龄。
###**数据查询**
我们可以使用get命令和scan命令确认插入操作:
```
get 'employee','1'
scan 'employee'
```
命令运行如下:

get 命令获取了行键为'1'的所有数据

scan命令获取了表中的所有数据
###**数据过滤**
在scan命令中加入FILTER关键字过滤查询结果:
```
# 过滤数据
scan 'employee', {FILTER => "SingleColumnValueFilter('personal_data', 'age', >, 'binary:30')"}
```
命令执行如下:

该命令查询表中personal_data列族下age限定符大于30的数据信息。
###**删除数据**
使用delete命令删除某个单元格数据:
```
delete 'employee', '1', 'personal_data:name'
```
执行结果:

可以看到name属性被删除了。