文章目录
前言
如果你从本文中学习到丝毫知识,那么请您点点关注、点赞、评论和收藏
大家好,我是爱做梦的鱼,我是东北大学大数据实验班大三的小菜鸡,非常渴望优秀,羡慕优秀的人。从5月25号我们开始了为期两个月的实习,我们需要做一个大型大数据项目,一个项目由三个学生+一个企业的项目经理完成。请大家持续关注我的专栏,我会每天更新。
专栏:大数据案例实战——大三春招大数据开发
专栏:Spark官方文档解读【Spark2.4.5中英双语】
博客地址:子浩的博客https://blog.csdn.net/weixin_43124279
欢迎大家关注微信公众号【程序猿干货铺】
一群热爱技术并且向往优秀的程序猿同学,不喜欢水文,不喜欢贩卖焦虑,只喜欢谈技术,分享的都是技术干货。Talk is cheap. Show me the code
一、背景
现在随着互联网的发展,好多公司的主营业务在线上(app/网站)(外卖公司、各类 app,比如:下厨房;头条;安居客;内涵段子;斗鱼;每日优鲜>、页游、唯品会、拼多多、当当、苏宁 易购、国美在线、网易严选、携程、中华会计网校、多易教育、小象学院、慕课网、尚德教育、有钱花、上哪借 ……)
这类公司,都需要针对用户的线上访问行为、消费行为、业务操作行为进行统计分析,数据挖掘!以支撑公司的业务运营、精准画像营销、个性化推荐等,来提高业务转化率,改善公司运营效果! 这些需求,都需要通过构建一个综合数据处理系统来支撑!
二、名词解释
ODS层:存放原始数据,它的作用就是备份。在我们这个第一版的系统里就是直接存放日志数据。
DWD层:对 ODS 层的数据进行数据清洗,同时对清洗后的数据生成结构与粒度相同的明细表。粒度举例:如果 ODS 层每条数据代表一小时的数据,那么 DWD 的每条数据就是一小时数据,如果 ODS 是一天的数据,DWD 就是一天的数据。 结构不太理解
DWS层:以 DWD 为基础,进行轻度聚合的表。举例:如果 DWD 的每条数据代表一小时的数据,那么 DWS 就可以是按照天来聚合的数据。
DWT层:DWS 为基础,按照主题进行汇总。举例:把上面提到的按天聚合后的数据,再按照主题统计半年以来的数据。
ADS层:以 DWS 或 DWT 为基础,为各种统计报表提供数据。统计报表就是要进行展示的表。
任务调度:任务管理就是指在具有依赖关系的多个任务里,先做哪个任务,后做哪个任务,当某个任务失败时怎么实现自动重启。
元数据管理:元数据管理就是对 hive 表中的数据进行血缘分析。作用是在表多的时候,如果某一个表出问题了,可以通过可视化的形式快速找出该表时怎么来的,从而解决问题,如果在表少的情况下则用处不太大。
三、设计目标
3.1 实现功能
实现的功能在需求文档里已经进行了详细说明,这里不再赘述。
3.2 性能指标
Ⅰ.数据精确度
严格验证每个数据的录入保证数据录入的无误,显示用户数据要和原始数据一样无差别。
Ⅱ.时间特性
在网络通常的情况下用户点击网页后5s内必须出结果
Ⅲ.适应性
网页支持主流浏览器的正常加载显示,控制可视化图表和报表显示正常。
四、系统环境
4.1 相关软件和硬件
- 软件:Hadoop、Spark、Flume、Kafka、Sqoop、Azkaban、Atlas、Echarts
- 硬件:每台节点内存 8G、CPU 6 核、磁盘 300G,集群中共三台节点
4.2 数据规模预估
?
五、系统设计
5.1 基础介绍
- 数据采集传输:Flume、Kafka、Sqoop
- 数据存储:Mysql、HDFS
- 数据计算:Spark
- 数据可视化:Echarts
- 任务调度:Azkaban
- 元数据管理:Atlas
5.2 系统架构图
5.2 和 5.3感觉是一个东西
5.3 系统流程图
六、风险评估
6.1 已知的或可预知的风险
6.2 与其他系统可能的影响
七、附件及参考资料
使用的模板:https://blog.csdn.net/cbuy888/article/details/87934916?tdsourcetag=s_pctim_aiomsg