首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

“经验”站在数据分析师角度,浅谈数据仓库需要掌握到的程度!

预计阅读时间:6min

阅读建议:本篇站在数据分析师角度,和大家谈谈工作中涉及到的数仓知识点,内容不难理解,对于初学者来说比较友好。

00

序言

作为一名数据分析师,岗位职责就要求我们的技能加点是多方面的,上游的数据仓库、下游的产品业务,我们都需要有一定了解。虽然不要求像DE(数据开发)、PM(产品经理)一样精专,但对于基础常识,仍需有所掌握。

本文将和大家分享一些数据仓库的知识点,并谈谈需掌握到的程度。

01

什么是数据仓库

首先,扫个盲,先和大家介绍一下什么是数据仓库,对于了解的同学可以跳过。

数据仓库是企业级别的数据管理中台,出于业务分析及决策而创建的,如果没有数据仓库,下游的数据分析、数据建模体系都很难搭建起来。附上一张图,帮助大家加深体感:

在这样的目的下,数据仓库一般需具备四点属性:

其一:数据集成。数据仓库可以融合多种类型数据源,并将其有机的整合到一起。例如:离线数据、实时数据等。

其二:主题导向。数据仓库的搭建需参考业务的主题域进行创建。例如:用户域、消费域、平台域等。

其三:历史追溯。数据仓库需涵盖业务现阶段及历史阶段的数据,保证原始数据可追溯。例如:部分底层数据生命周期为永久。

其四:数据质量。数据进入数据仓库后,不会出现数据遗失、篡改的情况。例如:加工过程中不可对数据进行人为篡改。

02

数据仓库的整体架构

当我们了解了什么是数据仓库后,就需要对数据仓库的宏观面貌有一个完整的了解:

通过上面这张图,可以看出,完整数据仓库是由四个层级来逐一实现,并通过任务调度平台统一执行。下面详细介绍下各个层级的核心内容:

第一层:数据采集层

数仓的首个环节为“入库”,通过ETL(抽取extract转化transform加载load)将各方获取到的数据有机的导入数据库。例如:将采集的用户行为数据input进数仓。

第二层:数据处理层

该层是数据仓库的核心步骤,其中包括离线数据处理和实时数据处理,将数据通过层层加工,输出成下游可使用的结构。

扫盲-实时处理/离线处理

实时处理:以秒级为单位,处理输入的数据,并提供给下游应用方,例如推荐场景。举个有体感的例子:刷淘宝时,搜索某个商品后,再次进入主页,立即就会给你推荐很多相似的内容。

离线处理:一般以天为单位,处理输入的数据。数仓大多数落表,都是离线处理后的数据。

两种方式看似冗余,却各自拥有不同的目的,最终一般会将两种类型数据merge到一起,作为长久的数据存储。

第三层:数据共享层

将处理后的数据结果,有机的存储至结构型化数据库或非结构化数据库中,以实现数据共享。

第四层:数据应用层

将处理好的数据推送至指定存储空间,供数据分析及产运等下游同学应用。

03

离线数仓搭建层级

通过上面的介绍,相信大家对于数据仓库的整体架构有了一个初步的认知。而对于数据分析同学而言,离线数仓是工作中涉及较多的方面,那离线数仓又涵盖哪些层次呢?

大体可以划分为四层:ODS数据层DWD数据层DWS数据层ADS数据层,如下图所示:

第一层:ODS数据层(Operate Data Store 数据准备层)

功能定位:数据仓库的原始数据。

设计原则:数据不做业务层处理,与原始数据保持一致。

第二层:DWD数据层(Data Warehouse Detail 数据明细层)

功能定位:将ODS层数据,经过解析、分表、加工过后的明细数据。

设计原则:仍然为明细数据,存储周期一般较长。

第三层:DWS数据层(Data Warehouse Service 数据汇总层)

功能定位:在DWD层数据基础上,根据各维度做的数据汇总。

设计原则:根据所需粒度做的数据聚合。

第四层:ADS数据层(Application Data Service数据应用层)

功能定位:提供给下游直接应用的数据。

设计原则:数据主题化,针对场景进行设计;以核心维度做的聚合数据;数据量相对较小,减少运行成本。

04

数据分析师对数仓的掌握程度

最后,谈谈小火龙认为数据分析同学需要掌握数仓到何种程度,总体来说「懂其精华,亦可实操」,具体为以下三点:

其一:了解数仓的整体架构

首先就是要了解整体的架构,虽然数仓涉及的技术面比较多,但对于数据分析同学,只需要了解每种技术的作用即可。因为有时候,我们需要站在业务侧给DE同学提需求,如何提出合理需求,就需要对数仓层面有一个整体的认知。

其二:熟悉离线数仓的设计规范

其次,数据分析同学日常可能会需要建一些中间表,这个过程往往是需要和DE同学一起来完成的。而作为更懂业务的你,即便搭建数仓不需要你亲力亲为,但也是需要把关的,因此对于设计的规范是需要了解的。

规范主要包括:流程规范、设计规范、命名规范、开发规范。每个点这里不再展开,后面会单独写一章,为大家详细讲解。

其三:ADS层数仓的搭建

最后,绝大多数数据分析岗位会涉及到ADS层的数据表搭建,因此对于生成表的代码、调度的配置、数据异动的监控,是有必要掌握并应用的。

以上就是本期的内容分享。码字不易,如果觉得对你有一点点帮助,欢迎「关注」「点赞」「分享」哦,我会持续为大家输出优质的「原创内容」~~

END

【作者简介】互联网大厂数据分析专家,本系列「经验」类文章,会和大家分享近些年工作中沉淀的数据分析方法论,希望能够帮助到同行的同学,同时也渴望和大家在此沟通探讨。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20221220A00PXG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券