Updated on 2023-07-14 GMT+08:00

Development Guidelines in Typical Scenarios

You can quickly learn and master the HBase development process and know key interface functions in a typical application scenario.

Scenario Description

Develop an application to manage information about users who use service A in an enterprise. Table 1 provides the user information. Procedures are as follows:

  • Create a user information table.
  • Add users' educational backgrounds and titles to the table.
  • Query user names and addresses by user ID.
  • Query information by user name.
  • Query information about users whose age ranges from 20 to 29.
  • Collect the number of users and their maximum, minimum, and average age.
  • Deregister users and delete user data from the user information table.
  • Delete the user information table after service A ends.
    Table 1 User information

    ID

    Name

    Gender

    Age

    Address

    12005000201

    Zhang San

    Male

    19

    Shenzhen City, Guangdong Province

    12005000202

    Li Wanting

    Female

    23

    Hangzhou City, Zhejiang Province

    12005000203

    Wang Ming

    Male

    26

    Ningbo City, Zhejiang Province

    12005000204

    Li Gang

    Male

    18

    Xiangyang City, Hubei Province

    12005000205

    Zhao Enru

    Female

    21

    Shangrao City, Jiangxi Province

    12005000206

    Chen Long

    Male

    32

    Zhuzhou City, Hunan Province

    12005000207

    Zhou Wei

    Female

    29

    Nanyang City, Henan Province

    12005000208

    Yang Yiwen

    Female

    30

    Wenzhou City, Zhejiang Province

    12005000209

    Xu Bing

    Male

    26

    Weinan City, Shaanxi Province

    12005000210

    Xiao Kai

    Male

    25

    Dalian City, Liaoning Province

Data Planning

Proper design of a table structure, RowKeys, and column names enable you to make full use of HBase advantages. In the sample project, a unique ID is used as a RowKey, and columns are stored in the info column family.

HBase tables are stored in Namespace:Table name format. If no namespace is specified when a table is created, the table is stored in default. The hbase namespace is the system table namespace. Do not create service tables or read or write data in the system table namespace.

Function Description

Determine functions to be developed based on the preceding scenario. Table 2 describes functions to be developed.

Table 2 Functions to be developed in HBase

No.

Step

Code Implementation

1

Create a table based on the information in Table 1.

For details, see Creating a Table.

2

Import user data.

For details, see Inserting Data.

3

Add an educational background column family, and add educational backgrounds and titles to the user information table.

For details, see Modifying a Table.

4

Query user names and addresses by user ID.

For details, see Reading Data Using Get.

5

Query information by user name.

For details, see Using a Filter.

6

Deregister users and delete user data from the user information table.

For details, see Deleting Data.

7

Delete the user information table after service A ends.

For details, see Deleting a Table.

Key Design Principles

HBase is a distributed database system based on the lexicographic order of RowKeys. The RowKey design has great impact on performance, so the RowKeys must be designed based on specific services.