一个学生,有学号,姓名,必修课成绩,公共选 修课成绩。创建HBASE的student表。列族自行设计。
时间: 2024-11-17 19:30:09 浏览: 11
基于Java的高可靠性、高性能、面向列的分布式存储系统HBase设计源码
在HBase中创建一个名为"student"的表来存储学生的相关信息,我们可以设计如下的列族:
**Column Family (列族):**
1. info - 存储基础信息,比如学号(ID),姓名等关键字段。
2. grades_required - 用于存储必修课的成绩。
3. grades_elective - 用于存储公共选修课的成绩。
**Table Schema:**
```plaintext
CREATE TABLE student (
id STRING PRIMARY KEY, -- 学生学号,作为主键
name STRING,
info_column_family {
ID: STRING,
NAME: STRING,
},
grades_required_column_family {
course_id STRING,
score INT,
},
grades_elective_column_family {
course_id STRING,
score INT,
}
);
```
在这个表结构中:
- `id` 是行键,每个学生的记录都是唯一的,不能有重复。
- `name` 和 `info_column_family` 包含学生的姓名以及基础信息(例如:ID)。
- `grades_required_column_family` 和 `grades_elective_column_family` 分别用于存储必修课和公共选修课的成绩,通过`course_id`和`score`来区分不同课程的成绩。
阅读全文