HBase项目-微博系统
May 28, 2018
开发环境
IDEA+maven+JDK+linux
系统架构
hadoop+zookeeper+hbase
需求描述
- 用户发布微博内容。
- 用户社交体现:关注用户,取关用户。
- 拉取关注的人的微博内容。
项目描述
微博系统包括三张表,一张是微博内容表(RowKey:用户ID_时间;Family:info;column:content;value:微博内容String), 一张是用户关系表(RowKey:用户ID;Family:attends,fans;column:用户ID;value:用户ID;), 一张是收件箱表(RowKey:用户ID;Family:info;column:用户ID;value:微博内容的RowKey)。 当用户发布微博内容时,我们在微博内容表中添加相应的行。当有用户添加关注用户时,我们在该用户的用户关系表列簇(attends)中添加相应列, 在被关注用户的用户关系表列簇(fans)中添加相应列,在收件箱表中添加相应列。收件箱表存放着每个用户及其关注用户的微博内容的RowKey, 收件箱表对所关注用户多个微博内容采用的是版本号的方法。当用户的关注用户发表微博内容时,在此用户的收件箱表中添加相应的版本号。
项目步骤
- 创建命名空间以及表名的定义;
- 创建微博内容表;
- 创建用户关系表;
- 创建用户微博内容接收邮件箱表;
- 发布微博内容 ;
- 添加关注用户;
- 移除(取关)用户 ;
- 获取关注的人的微博内容;
- 测试。