返回主页

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' ``` 命令执行如下: ![](https://hexo-img.obs.cn-east-3.myhuaweicloud.com/img/202402211743453.png) 该命令创建了'employee'表,属性有'personal_data'和'professional_data'。创建完后,使用describe命令查看表信息: ![](https://hexo-img.obs.cn-east-3.myhuaweicloud.com/img/202402211746867.png) ###**插入数据** 使用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' ``` 命令运行如下: ![](https://hexo-img.obs.cn-east-3.myhuaweicloud.com/img/202402211749661.png) 在表中我们插入了三个人的详细信息,职业分别是Manager,Engineer,Analyst,并插入了每个人的具体姓名和年龄。 ###**数据查询** 我们可以使用get命令和scan命令确认插入操作: ``` get 'employee','1' scan 'employee' ``` 命令运行如下: ![](https://hexo-img.obs.cn-east-3.myhuaweicloud.com/img/202402211755980.png) get 命令获取了行键为'1'的所有数据 ![](https://hexo-img.obs.cn-east-3.myhuaweicloud.com/img/202402211755143.png) scan命令获取了表中的所有数据 ###**数据过滤** 在scan命令中加入FILTER关键字过滤查询结果: ``` # 过滤数据 scan 'employee', {FILTER => "SingleColumnValueFilter('personal_data', 'age', >, 'binary:30')"} ``` 命令执行如下: ![](https://hexo-img.obs.cn-east-3.myhuaweicloud.com/img/202402211803426.png) 该命令查询表中personal_data列族下age限定符大于30的数据信息。 ###**删除数据** 使用delete命令删除某个单元格数据: ``` delete 'employee', '1', 'personal_data:name' ``` 执行结果: ![](https://hexo-img.obs.cn-east-3.myhuaweicloud.com/img/202402211806803.png) 可以看到name属性被删除了。