数据湖浅谈

2021-03-14 17:17:51 浏览数 (1)

什么是数据湖?

第一次接触数据湖的时候,我对这个概念也是一知半解,用一个比较形象的例子举例,湖里的水就是各种各样的数据,你舀了一瓶水上来但是不一定干净,有可能混杂着各种各样的杂质,成为能喝的水还要经过一层层过滤和净化。类比到数据湖也是如此,数据湖里有结构化和非结构化的数据,内部数据和外部数据,即原始数据的集合。在业务流程中是指根据业务规则直接产生的数据,数据湖保留了数据的原格式,原则上不对数据进行清洗、加工。

数据入湖

数据入湖有一定的标准,包括明确数据owner,发布数据标准,认证数据源、定义数据密级、评估数据质量和注册元数据。

数据入湖的方式

物理入湖虚拟入湖物理入湖是指将数据复制到数据湖中,包括离线数据集成实时数据集成两种方式。如果你对报表实时性要求很高,比如支撑实时监控类报表,那就需要入实时区。对报表实时性要求不高的,比如支撑年月季度等统计报表,可以入离线区。

虚拟入湖指原始数据不在数据湖中进行物理存储,而是通过建立对应虚拟表的集成方式实现入湖,实时性强,一般面向小数据量应用。

贴源or整合

贴源入湖是指入到SDI层,SDI层基本就是copy原系统数据一份,不做多余的处理。而贴源整合是入到DWI层,DWI层会遵从三范式,做多源整合,维度拉通等处理。整合的含义用合同来理解最容易,比如多个系统中都有合同数据,那贴源入湖看到的合同数据可能就是多张合同数据表,那到底哪个才是清洁统一的合同源呢?DWI层就可以把所有合同数据整合到一张表,做去重,用一套新的ID。所以一般整合层经常提到转ID,这个处理就是把源系统的ID转成数据湖里面数据整合之后的拉通的ID。

总而言之,数据源采集后到了SDI层,经过清洗整合后到了DWI层,经过数据封装到了数据接口层,能够提供公共数据接口并用于数据消费。经过主题联接又到了DWR层。

数据湖物理架构

DWI-Data Warehouse Integration 数据仓库集成,整合多个源系统数据,源系统进来的数据会有整合、清洗。本数据层会保留历史数据。

DWR-Data Warehouse Report 数据仓库报表,数据来源于DWI,不能直接跨层或从源系统取数据,采用维度模型方法建模。

DM-Data Mart 数据集市, DM层数据来源于DWR层,面向展现工具和业务查询需求。DM根据展现需求分领域,主题汇总。

数据出湖

数据入了湖,自然要出湖,出湖即数据消费。业务和IT消费数据的方式是不一样的。业务消费数据一般是通过数据资产或者叫数据宽表或视图。IT系统使用数据,一般是需要使用数据服务。

总的来说,数据出湖的方式有三种,数据服务(API)自助获取数据资产到租户数据集成(ETL工具)

数据服务(API)

在API中心检索数据服务,并进行API订阅。

自助获取数据资产到租户

在数据地图搜索数据资产,数据资产目录逐层检索(L1主题域分组->L2主题域->L3业务对象->L4逻辑实体->L5属性),通过不同的搜索方式,最后定位到需要的逻辑实体,加入到租户或在租户内申请个人使用权限。

数据集成(ETL工具)

这种出湖方式不普遍适用,一般情况下数据湖的数据是不允许搬家的。备案过的数据分析应用或平台才允许走数据集成的方式出湖(如IPD领域的数据分析中台),而且集成到这些分析平台的数据也必须进行严格管控,不允许再次搬家。其中Oracle数据的ETL一般用DataStage并进行定时调度(CTM)。

总结

由于数据湖的质量参差不齐,因此是很难直接消费的。那么,未来是否会直接开放数据湖数据的自助分析?对于将来数据探索,数据挖掘场景,我认为数据湖的数据才是真正的宝藏所在。数据湖的数据原始又丰富,数据分析者对数据足够了解的话,可以自己加工各种逻辑,使用各种数据以及工具、方法进行探索。我觉得未来开放数据湖自助分析还是很有价值的,当然场景、方案还有待讨论。

0 人点赞