从零开始实施推荐系统的落地部署——31.推荐系统案例(二十一)对数据仓库分层的理解

举报
wuyicom 发表于 2021/02/27 21:01:06 2021/02/27
【摘要】     虽然股票可视化的项目暂时还没做好,但是经过这段时间的锻炼,对数据仓库有了进一步的了解。之前在论坛和其他大数据群里有讨论过做数据仓库到底需不需要分层,它的好处在哪里?但那时候只知道数据仓库一般分为ODS层,DWD层,DWS层和ADS层。    现在来了解一下各层的含义:(1)ODS(Operation Data Store)层,它是数据仓库第一层,全部基础数据直接采集到ODS层里,不做...

1.png

    虽然股票可视化的项目暂时还没做好,但是经过这段时间的锻炼,对数据仓库有了进一步的了解。之前在论坛和其他大数据群里有讨论过做数据仓库到底需不需要分层,它的好处在哪里?但那时候只知道数据仓库一般分为ODS层,DWD层,DWS层和ADS层。

    现在来了解一下各层的含义:(1ODSOperation Data Store)层,它是数据仓库第一层,全部基础数据直接采集到ODS层里,不做处理。(2DWDData Warehouse Detail)数据仓库明细层,对数据格式的转换,数据加工和处理,提供干净的数据,避免后续的计算出现异常情况,同时提高开发效率。(3DWSData Warehouse Summery)数据仓库汇总层,根据业务需求,整合成业务相关的数据宽表,属于多维度汇总数据。(4ADS数据应用层,只包含部门或者业务方面自己关心的明细层和汇总层的数据,属于高度汇总数据,可以用做数据可视化展示。

    而项目使用tushare获得的数据已经不需要做数据处理,那就暂时不需要使用到ODSDWD层,采集到的数据和上市公司的信息,还有自己做了区域做成了数据宽表,保存到mysql数据库,完成了DWS层。再根据需要做实时股票涨幅和跌幅的top5的变化,最新时间的各版块平均涨幅,最新时间的上交所和深交所平均涨幅,最新时间的各省的平均涨幅和最新时间的各地区的平均涨幅的数据写入到mysql,完成ADS层,再从ADS层读取数据通过使用flaskecharts做数据可视化展示。

    通过上面的案例是不是说明不使用ODS和DWD层也可以呢?刚好相反,ODS层是必须,因为有些字段因为缺省或脏数据太多,而业务没有需求,删除掉了字段,但有可能随着业务范围拓宽和增长,需要到这些字段,没有ODS层,这些数据就会丢失,不利于业务的数据可视化和建模。DWD层是否可以不需要呢?没有DWD层,会增加数据分析师和开发工程师的工作负担,而且容易造成数据重复多次清洗,增加CPU,内存,IO和网络的资源的压力,减低资源使用效率。那不需要DWS呢?也会造成经常使用的表多次连接,浪费硬件和网络资源。ADS只包含部门或者业务方面自己关心的明细层和汇总层的数据,所以也是必须的。它们的缺点就是占空间容量非常大,消耗IO资源。通过ODS层,DWD层,DWS层和ADS层的关系,合理利用,才能获得更好的性能体验。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。