在本站我们介绍过一些数仓相关的知识点,但是对于在中型企业或者中大型企业甚至大企业的人来说,整个的数据仓库体系是非常大的,这里的数据来源,数据使用等等信息越往后做约复杂,所以如果涉及到那块的数据如果出现错误或者偏差的时候,我们经常会涉及到去根源开始排查,所以建议一个数据的血缘关系体系是非常重要的,他可以让我们很直观的查看到数据的整体信息。
对于血缘关系的建设,其实大体主要分为3个大的部分,下面我们用一张图来简单表达下:
这张图我们列举了3个大的模块,主要是从宏观意义来解释整个血缘关系,下面挨个介绍下:
1)数据来源
数据来源这里是比较重要的,我们在做数据仓库建设的时候,这里的数据来源方方面面,这里我们列举几个渠道:
使用爬虫技术从第三方进行获取 使用api接口平台,由第三方主动推送 采集内部系统的日志数据 从消息队列数据源获取 从第三方数据库直接拉取 .....
所以数据来源的渠道方方面面,我们需要完整的记录下来哪些数据是从哪个地方获取的,这样子可以追溯数据的根源信息。
2)数据ETL
整个数仓系统里面来源是数据,展现也是数据,但是展现的数据都是经过各种ETL任务来完成的,因此整个数仓系统里面会涉及到很多的ETL任务,并且这些ETL任务几乎都是运行在可视化的调度平台上面的。所以ETL是整个数仓建设的非常重要的一环。
3)数据去向
这里的数据去向就比较多了,因为这些数据经过ETL表处理之后,会进入到不同的表里面,各种不同的表又分布在不同的层级上,因此这里我们也是需要做各种记录的。
所以从上面的概念上可以看到建设完整的数据血缘关系系统是在数据仓库环节做这块的重中之重。下面下面是一个航旅用户标签表的血缘关系图示例:
从这张表我们是不是就可以看到航旅用户对应的标签数据的完整的链路了。
一般大型的企业对于数据血缘关系的建设看的非常重,所以对于很多大型企业来说,他们会自己开发建设一套符合内部情况的数据血缘关系,如果是一些中心公司或者小型公司的话,一般会选择开源的软件来实现。目前比较流程的几种方案又:
datahub apache atlas 基于阿里巴巴的druid进行二开。
在这里我们选择的主要是atlas,因此这里我们着重介绍atlas的系统。从下篇文章开始,我们将正式进入到atlas的相关介绍了。
还没有评论,来说两句吧...