大数据-255 离线数仓 - Atlas 数据仓库元数据管理 数据血缘关系 元数据
数据仓库元数据管理
元数据(MetaData)狭义的解释是用来描述数据的数据。广义来看,除了业务逻辑直接读写处理的那些业务数据,所有其他用来维持整个系统运转所需的信息、数据都可以叫做元数据,如数据库中表的Schema信息,任务的血缘关系,用户和脚本、任务的权限映射关系信息等。
管理元数据的目的,是为了让用户能够更高效的使用数据,也是为了平台管理人员能更加有效的做好数据的维护管理工作。
元数据管理平台很重要的一个功能就是信息的收集,至于收集哪些信息,取决于业务的需求和需要解决的目标问题。
应该收集那些信息,没有绝对的标准,但是对大数据开发平台来说,常见的元数据信息包括:
- 表结构信息
- 数据的空间存储,读写记录,权限归属和其他各类统计信息
- 数据的血缘关系信息
- 数据的业务属性信息
数据血缘关系
血缘信息或者叫Lineage的血统信息是什么,简单的说就是数据之间的上下游来源去向关系,数据从哪里来到哪里去,如果一个数据有问题,可以根据血缘根据上下游排查,看看到底在哪个环节出了问题。
此外,也可以通过数据的血缘关系,建立起生产这些数据的任务之间的依赖关系,进而辅助调度系统的工作调度,或者用来判断一个失败或错误的任务可能对哪些下游数据造成了影响等等。
以Hive表为例,通过分析Hive脚本的执行计划,是可以做到相对精确的定位出字段级别的数据血缘关系的。
Atlas简介
Atlas是Hadoop平台元数据框架: Atlas是一组可扩展的核心基础治理服务,使企业能够有效,高效的满足Hadoop中合规性要求,并能与整个企业数据生态系统集成
Apache Atlas为组织提供了开放的元数据管理和治理功能,以建立数据资产的目录,对这些资产进行分类和治理,并为IT团队、数据分析团队提供围绕这些数据资产的协作功能。
Apache Atlas 是一个开源的数据治理和元数据管理框架,最初由 Hortonworks 开发,后来成为 Apache 基金会的项目。
Atlas框架组件
Altas由元数据的收集,存储和查询展示三部分核心组件组成,此外,还会有一个管理后台对整体元数据的采集流程以及元数据格式定义和服务的部署等各项内容进行配置管理。
Altas包括以下组件:
- Core:Atlas功能核心组件,提供元数据的获取与导出(Ingets、Export)、类型系统(Type System)、元数据存储索引查询等核心功能
- Integration:Atlas对外集成模块,外部组件的元数据通过该模块将元数据给Altas管理
- MetastoreSource:Atlas支持的元数据数据源,以插件的形式提供,当前支持从以下来源提取和管理元数据:Hive、HBase、Sqoop、Kafka、Storm
- Applications:Altas的上层应用,可以用来查询由Atlas管理的元数据类型和对象
- Graph Engine(图计算引擎):Atlas使用图模型管理元数据对象
核心功能
- 元数据管理:Atlas 支持对 Hadoop 生态系统(如 HDFS、Hive、HBase、Kafka、Spark 等)中的数据资产进行集中管理
- 数据分类(Tagging):允许用户为数据资产打标签,用于数据分类、搜索和权限控制
- 数据血缘分析:提供详细的数据血缘图,用于追踪数据从源头到最终使用的整个流转过程
- 数据影响分析:通过数据血缘关系,可以分析数据的修改如何影响下游系统
- 数据审计:记录对元数据的所有操作,包括创建、修改和删除
- 可扩展性:Atlas 提供了可扩展的元模型,用户可以根据需要定义自定义的元数据模型
- 搜索和发现:提供高级搜索功能,用户可以根据名称、标签或属性快速找到相关数据资产
安装配置
安装依赖
- Maven(安装)
- HBase(压缩包)
- Solr(压缩包)
- Atlas(编译)
官方只提供了源码,没有提供二进制的安装版本,所以需要编译。
解压配置
修改 pom.xml:
<hadoop.version>2.9.2</hadoop.version>
编译源码
cd /opt/software/apache-atlas-sources-1.2.0
export MAVEN_OPTS="-Xms2g -Xmx2g"
mvn clean -DskipTests package -Pdist,embedded-hbase-solr
编译过程大约需要 600MB 的Jar包。编译结果在:
cd /opt/software/apache-atlas-sources-1.2.0/distro/target
可以看到:apache-atlas-1.2.0-bin.tar.gz