HBase样例程序开发思路
通过典型场景,您可以快速学习和掌握HBase的开发过程,并且对关键的接口函数有所了解。
场景说明
假定用户开发一个应用程序,用于管理企业中的使用A业务的用户信息,如表1所示,A业务操作流程如下:
- 创建用户信息表。
- 在用户信息中新增用户的学历、职称等信息。
- 根据用户编号查询用户姓名和地址。
- 根据用户姓名进行查询。
- 查询年龄段在[20-29]之间的用户信息。
- 数据统计,统计用户信息表的人员数、年龄最大值、年龄最小值、平均年龄。
- 用户销户,删除用户信息表中该用户的数据。
- A业务结束后,删除用户信息表。
数据规划
合理地设计表结构、行键、列名能充分利用HBase的优势。本样例工程以唯一编号作为RowKey,列都存储在info列族中。
HBase表以“命名空间:表名”格式进行存储,若在创建表时不指定命名空间,则默认存储在“default”中。其中,“hbase”命名空间为系统表命名空间,请不要对该系统表命名空间进行业务建表或数据读写等操作。
功能分解
根据上述的业务场景进行功能分解,需要开发的功能点如表2所示。
序号 |
步骤 |
代码实现 |
---|---|---|
1 |
根据表1中的信息创建表。 |
请参见创建HBase表。 |
2 |
导入用户数据。 |
请参见向HBase表中插入数据。 |
3 |
增加“教育信息”列族,在用户信息中新增用户的学历、职称等信息。 |
请参见修改HBase表。 |
4 |
根据用户编号查询用户姓名和地址。 |
|
5 |
根据用户姓名进行查询。 |
|
6 |
为提升查询性能,创建二级索引或者删除二级索引。 |
|
7 |
用户销户,删除用户信息表中该用户的数据。 |
请参见删除HBase表数据。 |
8 |
A业务结束后,删除用户信息表。 |
请参见删除HBase表。 |
关键设计原则
HBase是以RowKey为字典排序的分布式数据库系统,RowKey的设计对性能影响很大,具体的RowKey设计请考虑与业务结合。