谷粒微博需求分析

 

  1. 引言
    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

Hbasehive外部表→hive内部表→通过sqoopmysql

 

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工时

 

版权声明:本文为gagachen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/gagachen/p/13293382.html