1.数据仓库理论

教程 阿布都的都 ⋅ 于 2023-01-07 16:13:18 ⋅ 778 阅读

1 数据仓库概念

​ 数据仓库(dataware house),一般简称DW或DWH,是⼀个很⼤的数据存储集合,出于企业的分析性报告和决策⽀持⽬的⽽创建,对多样的业务数据进⾏筛选与整合。它能为企业提供⼀定的BI(商业智能:例如数据挖掘、数据分析和数据报表)能⼒。

​ 1990年由比尔.恩门首次提出,数据仓库建设特征四大特点面向主题、集成性、稳定性、时变性。

面向主题

​ 将上游数据(结构化、非结构化)通过数据抽取加载至数据仓库,根据各种业务场景划分不同业务主题,按照主题摆放进行数据存储。

​ 比如:“销售分析”主题就是分析销售情况。

集成性

​ 将上游分散的数据进行抽取,进行加工与集成,汇总存储汇总层。

​ 比如:数据汇总、统一格式等。

稳定性

​ 要分析的数据,基本不改动。

时变性

​ 数据仓库是随时间变化入仓的,传统数据加载方式为T+1的方式加载(今天计算昨天的数据),提供历史某阶段数据查询功能。

​ 分析的数据,一般是历史数据,根据历史数据挖掘出有价值的数据。

2 数据仓库常见术语

2.1 数据源

​ 上游数据,可以是结构化数据也可以是非结构化数据。

file

2.2 数据加载(ETL)

​ 通过ETL程序或者ETL脚本将上游数据抽取至数据仓库,抽取方式有对库直抽(sqoop)或上游系统卸数至大数据平台(NAS)。

file

ETL概念:

​ ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。

​ ETL分为三个部分:数据抽取、数据的清洗转换、数据的加载。

->数据抽取(Extract):

​ 将各个不同的数据源抽取到一个中间层中。

->数据清洗转换(Cleaning、Transform):

​ 数据清洗是指将不符合要求的数据除掉,包括错误数据、不完整数据、重复数据。

​ 数据转换要做的工作是把所有数据的模板、标准、计算规则等进行统一,如存储结构、数据编码等。

->数据的加载(Load):

​ 是把处理好的数据加载到数据仓库,比如hive。

2.3 数据仓库

用于数据存储与加工处理

file

2.4 元数据管理

​ 描述数据的数据称为元数据。

​ 元数据主要是记录数据仓库中模型的定义、各层级间的映射关系(例如我们架构的这五层,层与层之间的映射关系要靠元数据来保存),监控数据仓库的数据状态以及ETL任务的运行。

​ 一般会通过元数据质量库来统一地存储和管理元数据,其主要目的就是使数据仓库的设计、部署、操作和管理达成协同和一致,保证数据质量。

数据仓库的元数据:

file

元数据功能:

​ 数据血缘分析:向上追溯元数据对象的数据来源。

​ 影响分析:向下追溯元数据对象对下游的影响。

​ 同步检查:检查源表到目标表的数据结构是否发生变更。

​ 指标一致性分析:定期分析指标定义是否和实际情况一致。

​ 实体关联查询:事实表与维度表的代理键自动关联。

2.5 数据质量

​ 数据质量可以根据以下维度进行测量:

​ 1)完整性:是否有丢失或无法使用的数据?
​ 2)标准性:数据是否符合标准格式?
​ 3)一致性:数据值是提供一致的信息还是提供冲突的信息?
​ 4)准确性:数据是准确的,还是过时的?
​ 5)重复:数据记录或属性在不应该重复的地方是重复的吗?

​ 对数仓数据质量进行管理,通常在数据入仓阶段进行数据入仓有效性检核。

​ 根据业务抽取合理字段入仓。

​ 不允许有脏数据,如:将非结构化数据不经过清洗直接入仓。

​ 检核字段数据的合理性,如:年龄的有效范围。

​ 按照入仓标准进行筛选,在主题加工或汇总加工时进行数据合理性筛选,如字段合理性管理。

​ 数据条数检核,如:从上一层到下一层表数据条数是否正确。

​ 某个字段数据的种类数量检核,如:上层country字段的count(distinct) 和 下一层的count(distinct) 数量是否一致。

​ 检核字段数据的合理性,如:年龄的有效范围。

2.6 存储策略

​ 是指数据存储的策略,如增量、全量存储。

​ 增量存储:适合业务数据,这个数据不会update。

​ 全量存储:适合字典数据,这个数据可能会update。

​ 数据格式,如orc、parquet,压缩方式,如snappy。

2.7 向下供数

数据仓库对下游系统供数,常见供数方式分为:

​ 1)下游系统通过接口访问数仓

​ 2)数仓按照下游系统需求将数据卸载成数据文件供给下游系统。

3 数据仓库整体架构

file

4 数据仓库发展

file

数据湖(Data Lake):

​ 是一个以原始格式存储数据的存储库或系统。它按原样存储数据,而无需事先对数据进行结构化处理。一个数据湖可以存储结构化数据(如关系型数据库中的表),半结构化数据(如CSV、日志、XML、JSON),非结构化数据(如电子邮件、文档、PDF)和二进制数据(如图形、音频、视频)。

数据湖 与 数据仓库的区别

file

版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-阿布都的都,http://hainiubl.com/topics/76102
成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter