当前位置: 首页 > >

数据治理-Atlas元数据管理 基础介绍及使用

发布时间:

数据治理-Atlas元数据管理
数据资产的管理系统(数仓元数据管理系统)


atlas 的底层存储 :janusGraph 图数据库 --(依赖于hbase 和 solr)


atlas的核心功能层: core --相当于javaee里面的service层


atlas对外提供服务的一层:integration(api层) --相当于javaee里面的 controller层


外界要将元数据 录入(注入)到 atlas中去,通过kafka进行对接


核心组件
1 Core


Atlas 使用 JanusGraph图数据库来存储元数据对象。 JanusGraph使用两个存储:默认情况下元数据存储配置为 HBase ,索引存储配置为 Solr。


用户可以使用两种方法管理 Atlas 中的元数据:
API:Atlas 的所有功能都可以通过 REST API 提供给最终用户,允许创建,更新和删除类型和实体。它也是查询和发现通过 Atlas 管理的类型和实体的主要方法。


Messaging:除了 API 之外,用户还可以选择使用基于 Kafka 的消息接口与 Atlas 集成。


Atlas支持与许多元数据源的集成


? Hive:通过hive bridge,可以接入Hive的元数据,包括hive_db/hive_table/hive_column/hive_process


? Sqoop:通过sqoop bridge,可以接入关系型数据库的元数据,包括sqoop_operation_type/ sqoop_dbstore_usage/sqoop_process/sqoop_dbdatastore


? Falcon:通过falcon bridge,atlas可以接入Falcon的元数据,包括falcon_cluster/falcon_feed
/falcon_feed_creation/falcon_feed_replication/ falcon_process


? Storm:通过storm bridge,atlas可以接入流式处理的元数据,包括storm_topology/storm_spout/storm_bolt


Atlas Admin UI: 该组件是一个基于 Web 的应用程序,允许数据管理员和科学家发现和注释元数据。Admin UI提供了搜索界面和 类SQL的查询语言,可以用来查询由 Atlas 管理的元数据类型和对象。Admin UI 使用 Atlas 的 REST API 来构建其功能。


核心特性
数据分类管理
为元数据导入或定义业务导向的分类注释
定义,注释,以及自动捕获数据集和底层元素之间的关系
导出元数据到第三方系统


集中审计


搜索与血缘管理
? 可以根据classfication类别、关键字、数据资产类型等条件来快捷搜索相关元数据
? 还可以很方便查看数据资产的血缘


atlas在编译打包时,? 非内嵌安装包中,不带hbase、solr、kafka、zookeeper!就需要你集群环境中自己安装这些组件
(生产部署应该使用这种方式)


上传到linux,解压
tar -zxf apache-atlas-2.0.0-sources.tar.gz -C /opt/app/


Atlas安装
安装zookeeper
安装kafka
安装hbase
安装solr


    上传atlas编译好之后的安装包修改配置文件初始化solr中的索引数据启动atlas

hive-hook配置 钩子


配置了hive的钩子后,在hive中做任何操作,都会被钩子所感应到,并以事件的形式发布到kafka,然后,atlas的Ingest模块会消费到kafka中的消息,并解析生成相应的atlas元数据写入底层的Janus图数据库来存储管理;


? 修改hive-env.sh
export HIVE_AUX_JARS_PATH=/opt/app/apache-atlas-2.0.0/hook/hive


? 修改hive-site.xml

hive.exec.post.hooks
org.apache.atlas.hive.hook.HiveHook


同步配置
拷贝atlas配置文件atlas-application.properties到hive配置目录
添加两行配置:
atlas.hook.hive.synchronous=false
atlas.rest.address=http://localhost:21000


hive元数据import导入
在atlas安装之前,hive中已存在的表,钩子是不会自动感应并生成相关元数据的;
可以通过atlas的一个工具,来对已存在的hive库或表进行元数据导入;
bin/import-hive.sh
bin/import-hive.sh [-d OR --database ] [-t

OR --table
]

bin/import-hive.sh [-f ]


示例:
[root@h3 apache-atlas-2.0.0]# bin/import-hive.sh


? 注入元数据信息到atlas中(本质是:写入元数据到atlas中)
? 注入方式1:通过atlas为数据系统开发好的hook来注入
? 注入方式2:通过atlas自带的WEB-UI来人工填写元数据信息再注入
? 注入方式3:通过在自己的数据系统中调用atlas对外暴露的api,来灵活注入


Atlas WEB-UI 功能详解
ApacheAtlasUI功能包括4部分:
? create entity:创建实体(创建数据资产的元数据?人工录入元数据)
(在atlas中,有大量的对各类数据资产适配的描述定义:实体类型!
hive_table; hive_db;hive_column;hive_process;hdfs_path,…,如果我们有一个数据资产,没有对应的内置实体类型,可以自己去定义一个你的实体类型,来描述你的这个数据资产)
? search:搜索查看
? classfication:分类管理
? glossary:对数据资产标记“术语”(标签)


快速理解:
比如,咱们公司的HDFS中存储着各部门的各种用途的数据文件,分别放在各种各样的目录中
这些文件的管理很混乱,经常搞不清哪个目录中的文件是关于什么的?是哪个部门的?是什么用途的?…….


我们可以在atlas中的,对这些数据文件、目录,进行统一管理(描述)
而atlas跟HDFS之间没有开发好的元数据钩子,atlas是无法自动感知到hdfs中这些数据资产的属性、操作记录等信息的;这时,我们可以手动去为atlas创建这些信息
用到的功能就是 create new entity


示例:比如hdfs中有一个目录/aaa/bbb,需要进行描述


数据分类功能


classification / glossary


rest API
api
shell调用
java调用
postman请求试验



友情链接: