Updated on 2024-08-16 GMT+08:00

HBase Development Plan

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 the Namespace:Table name format. If the namespace is not specified when you create a table, the table will be stored in default by default. The HBase namespace is a system table namespace. Do not create service tables or read and write data in it.

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 an HBase Table.

2

Import user data.

For details, see Inserting HBase Data.

3

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

For details, see Modifying an HBase Table.

4

Query user names and addresses by user ID.

For details, see Reading HBase Data Using the GET Command.

5

Query information by user name.

For details, see Using an HBase Filter.

6

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

For details, see Deleting HBase Data.

7

Delete the user information table after service A ends.

For details, see Deleting an HBase 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.