数据仓库建设方法
1.明确业务需求,所有的数据仓库建设是基于业务需求设计的。
换言之,如果只是单纯的为了数仓建设了一堆的数据模型,业务无法使用的数仓是没价值的。数据仓库是为了业务服务。同时,在设计主题模型的时候,也要考虑到业务的一些扩展和通用特征。在此基础上确认数仓的层级结构,以及通过怎么样的方式给应用提供服务
2.基于业务的需要,明确所需建设的主题以及所需的维度。
例如(人员档案、商品销售情况报表,财务报表......),在更多是一些对象(人、用户)的画像(人的行为、标签,基本信息.......)。
3.基于业务主题所涉及的维度数据以及业务过程,确定事实表
常用的事实表确认手段可以是基于业务反推,以及通过kingball的总线矩阵的方式。将涉及到的维度和业务过程全部列出,逐一确认例如下图所示
这样的好处是避免了建设过程中的维度缺失。
所谓的事实表,更多是每个业务过程的描述(通过各个维度的表述,包含了各个维度),简而言之,对象+时间+空间+行为+业务描述
比如说:电商公司的进货过程 那么会涉及到(时间维度(订单时间、进货时间、效期…)、商品维度(商品的id,种类,效期、批次…)、雇员(进货员id,姓名,部门id,职务…)、供应商(供应商id,供应商类型),仓库(具体的仓位、货位…),以及对整个过程数量的描述(比如进货数量…))
4.基于接入数据的清洗
数据从ods 层到dwd层,往往会经过一些清洗
常用的手段有:
4.1异常数据剔除
通过对数据进行辨别和分离,实现冗余数据及垃圾数据的滤除。完成提取动作后的数据都需要进行清洗,被识别为垃圾数据的数据可以直接滤除,或标识后正常处理并交由后端模块判断如何进一步处理。其他未被过滤掉的数据则直接进入后续处理环节。
4.2 数据去重
在各类场景下设定相应的数据重复判别规则以及合并、清除策略,对数据进行重复性辨别,并对重复数据进行合并或清除处理。主要包括结构化数据去重及非结构化数据去重。
数据去重应该基于业务的角度出发,常用的手段是生成一个业务主键(描述这一业务过程的加工的字段值),该业务键代表了唯一的一条数据,基于这个业务键进行去重,可以避免数据重复给业务结果带来的偏差。在政务相关行业,往往会存在不同厂家的数据之间会存在数据的交集,这部分数据则会带来了重复。
4.3数据格转和标准化
来源数据可能存在多种不同的格式,需要根据数据元标准把非标数据转换成统一的标准格式进行输出,将不同来源的同类数据按照统一规则进行转换。格转内容主要包括代码转换、数据截断及数据内容格式统一
4.4 数据校验
根据数据质量检核规则对数据进行检验,校验主要包括数据的完整性校验、一致性校验等。主要的校验规则有:空值校验、取值范围校验、公民身份证号码/手机号/车牌号/IMEI/MAC/IP地址等校验、数值校验、长度校验、精度校验、多字段条件校验、业务规则校验等
4.5 数据关联
数据关联是指根据数据定义中的关联规则或算法,将数据和其它知识数据、业务数据等进行关联,并输出关联信息,支持关联回填、关联提取