zoukankan      html  css  js  c++  java
  • 【迭代式开发】v1架构设计文档——大数据开发实战项目(三)

    前言

    如果你从本文中学习到丝毫知识,那么请您点点关注、点赞、评论和收藏
    大家好,我是爱做梦的鱼,我是东北大学大数据实验班大三的小菜鸡,非常渴望优秀,羡慕优秀的人。从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

  • 相关阅读:
    sys_check
    python I/O 多路复用
    记一次刻骨铭心的值班失误
    RBAC用户角色权限设计方案【转载】
    国内maven镜像
    Hibernate 以流的方式获取数据
    Eclipse Maven Project
    spring maven pom
    git 常用操作
    Shell上传文件到ftp
  • 原文地址:https://www.cnblogs.com/DreamingFishZIHao/p/13079638.html
Copyright © 2011-2022 走看看