今日任务-完成谷粒微博项目需求分析
谷粒微博需求分析
-
引言
1.1. 背景
谷粒微博是基于大数据Hbase作为存储媒介的一个微博,在信息海量的时代,传统的数据库作为存储媒介已经不能满足人们的需求,如最新的歌曲MojiTo单日的播放量就超过了1200W次。。。
1.2.系统安装和环境配置
a) 本系统是基于Linux和Windows,安装hadoop集群、pyCharm、eclispe、jdk。使用的是mysql数据库。
2. 功能需求
2.1. 系统范围
该项目实现如下功能
1) 微博内容的浏览,数据库表设计
2) 用户社交体现:关注用户,取关用户
3) 拉取关注的人的微博内容
2.2. 系统体系结构
系统总体架构图:
系统总体架构描述:
a) 概述:谷粒微博主要用于用户的微博日常操作,因此分成三个部分:微博内容的浏览、关注用户,取关用户,拉取关注的人的微博内容。
b) 发布微博内容部分:
a、微博内容表中数据+1
b、向微博收件箱表中加入微博的 Rowkey
c) 添加关注用户部分:
a、在微博用户关系表中,对当前主动操作的用户添加新关注的好友
b、在微博用户关系表中,对被关注的用户添加新的粉丝
c、微博收件箱表中添加所关注的用户发布的微博
d) 移除(取关)用户部分:
a、在微博用户关系表中,对当前主动操作的用户移除取关的好友(attends)
b、在微博用户关系表中,对被取关的用户移除粉丝
c、微博收件箱中删除取关的用户发布的微博
e) 获取关注人的微博内容部分:
a、从微博收件箱中获取所关注的用户的微博 RowKey
b、根据获取的 RowKey,得到微博内容
f) Sqoop导出数据到mysql:
Hbase→hive外部表→hive内部表→通过sqoop→mysql
g) Python获取微博量最高的前三条并使用pycharm做图形可视化
2.3. 数据库设计
a) 数据字典
微博内容表
用户关系表
微博收件箱表
2.4.工作量估算
模块 |
功能 |
工作量 |
模块1 |
环境准备(Hbase性能优化) |
4工时 |
Hbase设置缓存,压缩方式,版本确界 |
4工时 |
|
建库建表添加数据 |
8工时 |
|
模块2 |
发布微博内容 |
8工时 |
添加关注用户部分 |
8工时 |
|
移除(取关)用户部分 |
8工时 |
|
获取关注人的微博内容部分 |
8工时 |
|
模块3 |
Sqoop导出数据到mysql |
4工时 |
Python获取微博量最高的前三条并实现数据可视化
|
4工时 |