什么是数据分层,数据分层的作用!KJXY

最近出现了好几次同样的对话场景:问:你是做什么的?答:最近在搞数据仓库。问:哦,你是传统行业的吧,我是搞大数据的。答:......

发个牢骚,搞大数据的也得建设数据仓库吧。而且不管是传统行业还是现在的互联网公司,都需要对数据仓库有一定的重视,而不是谈一句自己是搞大数据的就很厉害了。数据仓库更多代表的是一种对数据的管理和使用的方式,它是一整套包括了etl、调度、建模在内的完整的理论体系。现在所谓的大数据更多的是一种数据量级的增大和工具的上的更新。两者并无冲突,相反,而是一种更好的结合。

话说,单纯用用Hadoop、Spark、Flume处理处理数据,其实只是学会几种新的工具,这是搞工具的,只是在数据仓库中etl中的一部分。

对于数据的从业者来讲,要始终重视紧跟技术的变革,但是切记数据为王,在追求技术的极致的时候,不要忘了我们是搞数据的。

我们对数据进行分层的一个主要原因就是希望在管理数据的时候,能对数据有一个更加清晰的掌控,详细来讲,主要有下面几个原因:

数据体系中的各个表的依赖就像是电线的流向一样,我们都希望它是很规整,便于管理的。但是,最终的结果大多是第一幅图,而非第二幅图。

我们从理论上来做一个抽象,可以把数据仓库分为下面三个层,即:数据运营层、数据仓库层和数据产品层。

1.ODS全称是OperationalDataStore,操作数据存储

“面向主题的”,数据运营层,也叫ODS层,是最接近数据源中数据的一层,数据源中的数据,经过抽取、洗净、传输,也就说传说中的ETL之后,装入本层。本层的数据,总体上大多是按照源头业务系统的分类方式而分类的。

但是,这一层面的数据却不等同于原始数据。在源数据装入这一层时,要进行诸如去噪(例如去掉明显偏离正常水平的银行刷卡信息)、去重(例如银行账户信息、公安局人口信息中均含有人的姓名,但是只保留一份即可)、提脏(例如有的人的银行卡被盗刷,在十分钟内同时有两笔分别在中国和日本的刷卡信息,这便是脏数据)、业务提取、单位统一、砍字段(例如用于支撑前端系统工作,但是在数据挖掘中不需要的字段)、业务判别等多项工作。

2.数据仓库层(DW),是数据仓库的主体

在这里,从ODS层中获得的数据按照主题建立各种数据模型。例如以研究人的旅游消费为主题的数据集中,便可以结合航空公司的登机出行信息,以及银联系统的刷卡记录,进行结合分析,产生数据集。在这里,我们需要了解四个概念:维(dimension)、事实(Fact)、指标(Index)和粒度(Granularity)。

3.数据产品层(APP),这一层是提供为数据产品使用的结果数据

在这里,主要是提供给数据产品和数据分析使用的数据,一般会存放在es、mysql等系统中供线上系统使用,也可能会存在Hive或者Druid中供数据分析和数据挖掘使用。比如我们经常说的报表数据,或者说那种大宽表,一般就放在这里。

这三层技术划分,相对来说比较粗粒度,后面我们会专门细分一下。在此之前,先聊一下每一层的数据一般都是怎么流向的。这里仅仅简单介绍几个常用的工具,侧重中开源界主流。

2.ODS、DW-->App层

这里面也主要分两种类型:

网上的例子很多,就不列了,只举个笔者早期参与设计的数据分层例子。分析一下当初的想法,以及这种设计的缺陷。上原图。

此处@Ruby大神。现实是我只是个打酱油的。盗图、盗思想。

当初的设计总共分了6层,其中去掉元数据后,还有5层。下面分析一下当初的一个设计思路。

**缓冲层(buffer)**

明细层(ODS,OperationalDataStore,DWD:datawarehousedetail)

轻度汇总层(MID或DWB,datawarehousebasis)

主题层(DM,datemarket或DWS,datawarehouseservice)

应用层(App)

前面提到的一种设计其实相对来讲已经很详细了,但是可能层次会有一点点多,而且在区分一张表到底该存放在什么位置的时候可能还有一点点疑惑。我们在这一章里再设计一套数据仓库的分层,同时在前面的基础上加上维表和一些临时表的考虑,来让我们的方案更优雅一些。

下图,做了一些小的改动,我们去掉了上一节的Buffer层,把数据集市层和轻度汇总层放在同一个层级上,同时独立出来了维表和临时表。

这里解释一下DWS、DWD、DIM和TMP的作用。

有读者问了一些问题,是我之前有一些没讲清楚,补到这里。

答:ods之间到dws就好没必要过dwd,我举个例子,你的浏览商品行为,我做一层轻度汇总,就直接放在dws了。但是你的资料表,要从好多表凑成一份,我们从四五分个人资料表中凑出来了一份完整的资料表放在了dwd中。然后在app层,我们要出一张画像表,包含用户资料和用户近一年的行为,我们就直接从dwd中拿资料,然后再在dws的基础上做一层统计,就成一个app表了。

问:嗯,最后一个疑问,在现实生产中,可不可能存在计算dws时,会用到dwd表的情况?

答:不这样依赖就混了,dws不会依赖dwd,dws直接轻度汇总,业务用的话都说app。

问:就是说,dwd针对的是对象,它的数据质量处理有点像对用户等等的实体信息的纠错和汇总;dws针对的是行为,可以在某些维度上上卷的行为~

答:你这样理解吧dws存事实表,dwd维度表。

数据分层是数据仓库非常重要的一个环节,它决定的不仅仅是一个层次的问题,还直接影响到后续的血缘分析、特征自动生成、元数据管理等一系列的建设。因此适于尽早考虑。

THE END
1.数据挖掘师在市场中的地位与未来的展望随着大数据技术的飞速发展,数据挖掘这一领域也迎来了前所未有的爆炸性增长。作为一名专业的数据分析人员,数据挖掘师不仅需要具备深厚的数学和统计学知识,还要有强大的编程能力以及对业务模式的深刻理解。在这个信息爆炸时代,能够从海量数据中提取有价值信息的人才是最宝贵的。 https://www.f3kg3td6j.cn/jun-lei-zi-xun/496259.html
2.C语言在数据挖掘中的作用编程语言C语言在数据挖掘中扮演着重要的角色,尽管它可能不是最常用的工具,但它的性能和灵活性使其在特定情况下非常有用。C语言在数据挖掘中的应用主要体现在以下几个方面: C语言在数据挖掘中的作用 高效处理大数据:C语言允许程序员直接操作内存,提高程序的执行效率,适合处理大规模数据集和复杂计算任务。 自定义算法开发:Chttps://m.yisu.com/zixun/942501.html
3.数据挖掘类文章属于什么类型mob64ca12e83232的技术博客随着数据量的增长和技术的发展,数据挖掘的潜力将愈发显著。未来,数据挖掘将在决策支持、市场分析、个性化推荐等领域发挥更大的作用。 希望通过本篇文章,您对数据挖掘类文章的内容及其实现有了初步的了解。如需进一步学习,建议深入阅读相关领域的专业书籍与文献,探索更复杂和有趣的算法与技术。https://blog.51cto.com/u_16213397/12827058
4.有什么作用什么是数据挖掘?数据挖掘的功能有哪些什么是数据挖掘 有什么作用 在大数据准确营销和大数据洞察力等一系列热门词汇的背后,数据挖掘和分析技术在各行业发挥着重要作用,随着数据资源的爆炸性增长,数据挖掘技术不仅成为政府部门提高治理能力的重要手段,而且成为提升各行业核心竞争力的关键。 一、数据挖掘的定义https://blog.csdn.net/qq_30187071/article/details/104791348
5.数据挖掘有什么作用与意义帆软数字化转型知识库数据挖掘有什么作用与意义 数据挖掘的作用与意义在于能够帮助企业和组织:发现隐藏模式、提高决策质量、预测未来趋势、优化资源配置、提升客户满意度、推动创新。其中,发现隐藏模式尤为重要,因为数据挖掘能从海量数据中提取出有价值的信息和知识,这些信息可能是传统分析方法难以发现的。通过算法和技术手段,企业可以识别出一些https://www.fanruan.com/blog/article/575539/
6.iOS苹果签名中的MDM是什么?有什么作用?有什么作用? 大家好,我是咕噜土豆,很高兴又和大家见面了。今天我们来带大家了解苹果签名的中的MDM签名,下面我为大家进行相关的介绍。 什么是MDM签名 MDM签名是指移动设备管理(MDM)解决方案中用于识别和验证管理配置文件和命令的数字签名。这些签名是由MDM提供商生成的,并附加到配置文件和命令以确保其完整性和来源的https://blog.itpub.net/70037867/viewspace-3014614/
7.数据挖掘论文(一)数据挖掘技术。数据挖掘是指从大量的、不规则、乱序的数据中,进行分析归纳,得到隐藏的,未知的,但同时又含有较大价值的信息和知识。它主要对确定目标的有关信息,使用自动化和统计学等方法对信息进行预测、偏差分析和关联分析等,从而得到合理的结论。在档案管理中使用数据挖掘技术,能够充分地发挥档案管理的作用,从https://www.unjs.com/lunwen/f/20220924130749_5650839.html
8.论油田物联网建设的作用和意义工程技术人员对数据进行处理、分析后,实现远程指挥与控制。由此可以在一定的岗位上,尤其是安全性、风险性比较大的岗位上,减少岗位人员。人员裁减后其工作效率不减,反而还提高,这就起到了增效减员的作用了。 据测算,油气生产中的一个中心站,假设一个流程是8个岗位,每个岗位需要3个人轮班,每一个岗位按照8小时一个https://doicu.chd.edu.cn/2017/1121/c2952a42024/page.htm
9.专业认知实习报告近邻算法:将数据集合中每一个记录进行分类的方法。 规则推导:从统计意义上对数据中的“如果-那么”规则进行寻找和推导。 通过刘勇老师对数据库挖掘的讲解,我明白了数据库挖掘的作用,通过数据挖掘可以把一些对自己有价值信息,在海量的数据库信息中抽取出来,然后来供自己使用。也让我明白了数据库挖掘的一些基本方法和原https://www.ruiwen.com/shixibaogao/8009542.html
10.《以撒的结合胎衣》强力道具效果与使用技巧一览有哪些强力道具Data Miner(数据挖掘者) 4充能/效果:…… 强度:SSS 点评:欲罢不能 以撒的结合,应该说是被动的结合。因为主动总是受到充能的限制,而被动能够永远地加强你。 20/20(黑框眼镜) 效果:眼泪同时从两眼射出。 强度:A+ 点评:苟…… Abaddon(亚巴顿) https://www.9game.cn/news/1567389.html
11.数据挖掘在管理会计中的重要意义【摘要】数据挖掘是从海量数据中发现和提取知识和信息的过程。在管理会计领域中运用数据挖掘技术,寻求和发现更多的企业顾客、供应商、市场以及内部流程优化的信息,将为企业决策者提供更为广泛而有效的决策依据,提高企业战略竞争能力。本文简要介绍了数据挖掘的基本概念和方法,在此基础上重点分析了数据挖掘技术在作用成本和https://www.jy135.com/guanli/327644.html
12.什么是用户画像,一般用户画像的作用是什么4.数据挖掘: 以用户画像为基础构建推荐系统、搜索引擎、广告投放系统,提升服务精准度 二、用户画像的作用主要有以下几个方面: 1.广告投放 在做用户增长的例子中, 我们需要在外部的一些渠道上进行广告投放, 对可能的潜在用户进行拉新, 比如B站在抖音上投广告。我们在选择平台进行投放的时候, 有了用户画像分析, 我们https://www.linkflowtech.com/news/140
13.网赌大数据分析工具(网赌数据库)API(应用编程接口);简单的插件和推广机制;强大的可视化引擎,许多尖端的高维数据的可视化建模;400多个数据挖掘运营商支持;耶鲁大学已成功地应用在许多不同的应用领域,包括文本挖掘,多媒体挖掘,功能设计,数据流挖掘,集成开发的方法和分布式数据挖掘。 RapidMiner的局限性;RapidMiner 在行数方面存在大小限制;对于RapidMiner,您https://www.jiandaoyun.com/article/post/13404.html
14.网络爬虫是什么?有哪些作用?巧妇难为无米之炊,在这些应用领域中,如果没有网络爬虫为他们抓取数据,再好的算法和模型也得不到结果。而且没有数据进行机器学习建模,也形成不了能解决实际问题的模型。因此在目前炙手可热的人工智能领域,网络爬虫越来越起到数据生产者的关键作用,没有网络爬虫,数据挖掘、人工智能就成了无源之水和无本之木。 https://m.youkee.com/xiaoqu/3922.html
15.浅析数据挖掘技术在审计中的运用澎湃号·媒体澎湃新闻二、数据挖掘技术在审计中的重要作用 数据挖掘技术作为信息技术的一种特有的技术手段应用在审计领域,是传统审计方法无法取代的。通过数据挖掘技术可以从被审计单位错综复杂的业务环境和海量的数据中,在极短的时间里进行数据分析,协助审计人员更加高效发现异常信息,在一定程度上较低了审计风险,从而大大提高了审计效率,更加https://www.thepaper.cn/newsDetail_forward_15006269