背景
为什么要做数据治理?
- 广义:数据治理是最近谈的一个火热的话题。不管国家层面,还是企业层面现在对这个问题是越来越重视。数据治理要解决数据质量,数据管理,数据资产,数据安全等等,
而数据治理的关键就在于元数据管理
,我们要知道数据的来龙去脉,才能对数据进行全方位的管理,监控,洞察。 狭义:
- 业务繁多,数据繁多,业务数据不断迭代。人员流动,文档不全,逻辑不清楚,对于数据很难直观理解,后期很难维护。
- 在大数据研发中,原始数据就有着非常多的数据库,数据表。而经过数据的聚合以后,又会有很多新的维度表。
- 人工智能团队需要正确的数据用于分析。虽然构建了高度可扩展的数据存储,实时计算等等能力,但是团队仍然在浪费时间寻找合适的数据集来进行分析。
元数据
元数据(meta data)——“data about data” 关于数据的数据,是指从信息资源中抽取出来的用于说明其特征、内容的结构化的数据,用于组织、描述、检索、保存、管理信息和知识资源。例如:存储在数据库中用于规定描述表信息,字段的长度、类型,索引信息等。元数据管理示例
三十年前,数据资产可能是 Oracle 数据库中的一张表。然而,在现代企业中,我们拥有一系列令人眼花缭乱的不同类型的数据资产。可能是关系数据库或 NoSQL 存储中的表、实时流数据、 AI 系统中的功能、指标平台中的指标,数据可视化工具中的仪表板。现代元数据管理应包含所有这些类型的数据资产,并使数据工作者能够更高效地使用这些资产完成工作。
一些常见的用例和它们需要的元数据类型的示例:
搜索和发现:数据表、字段、标签、使用信息
- 访问控制:访问控制组、用户、策略
- 数据血缘:管道执行、查询
- 合规性:数据隐私/合规性注释类型的分类
- 数据管理:数据源配置、摄取配置、保留配置、数据清除、导出策略
- AI可解释性、可重现性:特征定义、模型定义、训练运行执行、问题陈述
- 数据操作:管道执行、处理的数据分区、数据统计
- 数据质量:数据质量规则定义、规则执行结果、数据统计
DataHub简介
市面上常见的元数据管理系统有如下几个:
- linkedin datahub:
https://github.com/linkedin/datahub - apache atlas:
https://github.com/apache/atlas - lyft amundsen
https://github.com/lyft/amundsen
atlas 对 hive 有非常好的支持,但是部署起来非常的吃力。amundsen 还是一个新兴的框架,采用的第一代架构。而 dataHub 是由LinkedIn的数据团队开源的一款提供元数据搜索与发现的工具。基于事件的第三代架构,社区(slack)很活跃。
摄取元数据
- 选择数据源
市面上常见的数据源基本都支持,获取元数据前,需要定义配置文件(食谱)。 - 定义食谱
一个配方文件只能有 1 个源和 1 个接收器。如果您想要多个来源,那么您将需要多个配方文件
- source:数据源配置
- transformers:数据转换器
- sink:接收器
- 使用corn表达式指定脚本摄取时间
- 配置执行器信息
食谱配置成功后,元数据摄取任务执行的时间视数据源数据集的多少而定。任务执行完后,会在平台首页展示。
管理元数据
为了方便对元数据的管理,DataHub支持对元数据表、字段添加自定义的信息,还可以将某些特定的元数据表归为某一个领域(Domain),打上不同的标签(tag)和所有者(Owners)。所有的信息都可以通过搜索快速定位到你想要的元数据。
血缘关系
分析元数据
用户、用户组
目前不能创建用户,只能通过user.props来配置用户;可创建用户组管理用户。
政策
DataHub使用政策(policies)来配置权限。政策的类型分为2种,一种是平台(Platform),配置对平台的操作;一种是元数据(Metadata),可以对元数据进行操作。
基于Platform
基于Metadata
基于Metadata的政策定义了可以在管理元数据操作哪些按钮。如果没有选择,则将策略应用于给定的所有资源。