大数据环境下该如何优雅地设计数据分层

  • 时间:
  • 浏览:1

累似 你你什儿 层已经 富含的数据表为:人口表(富含每本人的身份证号、姓名、住址等)、机场登机记录(富含乘机人身份证号、航班号、乘机日期、起飞城市等)、银联的刷卡信息表(富含银行卡号、刷卡地点、刷卡时间、刷卡金额等)、银行账户表(富含银行卡号、持卡人身份证号等)等等一系列原始的业务数据。这里亲们可不都要看后,你你什儿 层面的数据还具有鲜明的业务数据库的形态,甚至还具有一定的关系数据库中的数据范式的组织形式。

亲们对数据进行分层的有有两个 主要是因为分析已经 希望在管理数据的前一天,能对数据有有有两个 更加清晰的掌控,完正来讲,主要有下面哪几个是因为分析:

在这里,主已经 提供给数据产品和数据分析使用的数据,一般会存放在es、mysql等系统中供线上系统使用,也已经 会占据 Hive已经 Druid中供数据分析和数据挖掘使用。 比如亲们突然说的报表数据,已经 说那种大宽表,一般就放在这里。

对于数据的从业者来讲,要始终重视紧跟技术的变革,已经 切记数据为王,在追求技术的极致的前一天,无须忘了亲们是搞数据的。

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

缓冲层(buffer)

来源:51CTO

技术实践

本文对数据分层的讨论适合下面或多或少场景,超过该范围场景 or 数据仓库经验丰沛 的大神就无须浪费时间看后。

这上端也主要分什儿 类型:

当然,技术的更新往往能领到有有两个 时代的变革,比如Hadoop的诞生,光是深入研究有有两个 大数据组件就要花很大的时间和精力。已经 在热潮冷却前一天,亲们更应该考虑地是怎么还可以 更好地管理和使用本人的数据。

应用层(App)

理论

已经 ,你你什儿 层面的数据却不等同于原始数据。在源数据放在你你什儿 层时,要进行诸如去噪(累似 再加明显每种正常水平的银行刷卡信息)、去重(累似 银行账户信息、公安局人口信息中均含其他同学的姓名,已经 只保留一份即可)、提脏(累似 有的人的银行卡被盗刷,在十分钟内一起去有两笔分别在中国和日本的刷卡信息,这便是脏数据)、业务提取、单位统一、砍字段(累似 用于支撑前端系统工作,已经 在数据挖掘中不都要的字段)、业务判别等多项工作。

下图,做了或多或少小的改动,亲们再加了上一节的Buffer层,把数据集市层和轻度汇总层放在同有有两个 层级上,一起去独立出来了维表和临时表。

本文分享了笔者本人对数据仓库的或多或少理解和想法,不一定十分准确,有那些什么的什么的问题 可不都要多交流。

本文作者:dantezhao

注意: 在这层,理应都不 简单的数据接入,已经 要考虑一定的数据清洗,比如异常字段的解决、字段命名规范化、时间字段的统一等,一般那些很容易会被忽略,已经 却至关重要。不为何是后期亲们做各种形态自动生成的前一天,会十分有用。后续会有文章来分享。

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

前面提到的什儿 设计我我觉得相对来讲已经 很完正了,已经 已经 层次会有或多或少点多,已经 在区分一张表到底该存放在那些位置的前一天已经 还有或多或少点疑惑。 亲们在你你什儿 章里再设计一套数据仓库的分层,一起去在前面的基础上再加维表和或多或少临时表的考虑,来让亲们的方案更优雅或多或少。

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

明细层(ODS, Operational Data Store,DWD: data warehouse detail)

“面向主题的”,数据运营层,也叫ODS层,是最接近数据源中数据的一层,数据源中的数据,经过抽取、洗净、传输,也已经 传说中的ETL前一天,放在本层。本层的数据,总体上大多是按照源头业务系统的分类法律依据而分类的。

最初在做数据仓库的前一天遇到了好多好多 坑,已经 自身资源有限,接触数据仓库的前一天,感觉在互联网行业上端的数据仓库成功经验很少,网上不难 找到比较实践性强的资料。而那几本经典书籍上端又过于理论,折腾起来亲们说生不如死。还好现在过去了那个坎,已经 多花或多或少时间整理本人的思路,帮助或多或少的小伙伴少踩或多或少坑。

轻度汇总层(MID或DWB, data warehouse basis)

这里我我觉得已经 亲们现在大数据技术发挥作用的有有两个 主要战场。 亲们的数据主要会有有有两个 大的来源:

话说,单纯用用Hadoop、Spark、Flume解决解决数据,我我觉得已经 针灸学会几种新的工具,这是搞工具的,已经 在数据仓库中etl中的一每种。

吐槽完毕,本文主要讲解数据仓库的有有两个 重要环节:怎么还可以 设计数据分层!其它关于数据仓库的内容可参考其它的文章数据仓库。

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

另外,每一层的名字无须太过在意,本人按照喜好就好。

初步估计在数据仓库方面,应该都不 有有有两个 主题分享:血缘分析、形态自动生成、元数据管理。分享完成前一天,数据仓库相关的就告一段落了。  

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

亲们从理论上来做有有两个 抽象,可不都要把数据仓库分为下面有有两个 层,即:数据运营层、数据仓库层和数据产品层。

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

这三层技术划分,相对来说比较粗粒度,上端亲们会专门细分一下。在此前一天,先聊一下每一层的数据一般都不 缘何流向的。这里仅仅简单介绍哪几个常用的工具,侧重中开源界主流。

主题层(DM,date market或DWS, data warehouse service)