前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据治理(八):Atlas集成Hive

数据治理(八):Atlas集成Hive

作者头像
Lansonli
修改2022-09-03 00:27:27
1.6K2
修改2022-09-03 00:27:27
举报
文章被收录于专栏:Lansonli技术博客

Atlas集成Hive

Atlas可以针对多个不同的数据源,统一采用kafka作为中间消息传递队列,使元数据源与服务端采用异步方式进行沟通,减少元数据采集对正常业务效率的影响,但是目前的Atlas版本监控Hive中数据操作比较完善,但是监控Sqoo(目前只支持hive import)、Spark等支持不好。

我们可以使用Atlas监控Hive中的元数据,这时需要配置Hive Hook(钩子),在Hive中做的任何操作,都会被钩子所感应到,并以事件的形式发布到kafka,然后,Atlas的Ingest模块会消费到Kafka中的消息,并解析生成相应的Atlas元数据写入底层的Janus图数据库来存储管理,其原理如下图示:

atlas安装之前,hive中已存在的表,钩子是不会自动感应并生成相关元数据的,可以通过atlas的工具脚本来对已存在的hive库或表进行元数据导入,步骤如下:

一、配置hive-site.xml

在node3 Hive客户端$HIVE_HOME/conf/hive-site.xml中追加写入:

代码语言:javascript
复制
<!-- 配置hook 钩子类 -->
<property>
    <name>hive.exec.post.hooks</name>
    <value>org.apache.atlas.hive.hook.HiveHook</value>
</property>

二、修改Hive-env.sh

代码语言:javascript
复制
[root@node3 ~]# cd /software/hive-3.1.2/conf
[root@node3 conf]# cp hive-env.sh.template hive-env.sh
[root@node3 conf]# vim hive-env.sh
export HIVE_AUX_JARS_PATH=/software/apache-atlas-2.1.0/hook/hive/

三、 复制$ATLAS_HOME/conf/atlas-application.properties文件到$HIVE_HOME/conf下,并追加内容

代码语言:javascript
复制
#复制atlas-application.properties文件到$HIVE_HOME/conf下
[root@node3 ~]# cp /software/apache-atlas-2.1.0/conf/atlas-application.properties /software/hive-3.1.2/conf/

四、复制导入Hive元数据必须的jar包

代码语言:javascript
复制
[root@node3 ~]# cp /software/apache-atlas-2.1.0/server/webapp/atlas/WEB-INF/lib/jackson-jaxrs-base-2.9.9.jar /software/apache-atlas-2.1.0/hook/hive/atlas-hive-plugin-impl/

[root@node3 ~]# cp /software/apache-atlas-2.1.0/server/webapp/atlas/WEB-INF/lib/jackson-jaxrs-json-provider-2.9.9.jar /software/apache-atlas-2.1.0/hook/hive/atlas-hive-plugin-impl/

[root@node3 ~]# cp /software/apache-atlas-2.1.0/server/webapp/atlas/WEB-INF/lib/jackson-module-jaxb-annotations-2.9.9.jar /software/apache-atlas-2.1.0/hook/hive/atlas-hive-plugin-impl/

五、执行同步Hive 元数据脚本

代码语言:javascript
复制
#这里同步的是Hive中已有数据的元数据,可以通过此脚本同步过来
[root@node3 ~]# cd /software/apache-atlas-2.1.0/bin/
#执行脚本导入元数据,期间需要输入atlas的用户名和密码:admin/admin
[root@node3 bin]# import-hive.sh 

六、以上导入元数据成功后,可以在Atlas页面中查看

七、在Hive中创建数据表,查看是否能被Atlas监控

代码语言:javascript
复制
hive> create table personinfo(id int ,name string,age int) row format delimited fields terminated by '\t';
#需要准备 person.txt文件
hive> load data local inpath '/root/test/person.txt' into table personinfo;

八、刷新Atlas页面,可以看到数据被同步

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/04/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Atlas集成Hive
    • 一、配置hive-site.xml
      • 二、修改Hive-env.sh
        • 三、 复制$ATLAS_HOME/conf/atlas-application.properties文件到$HIVE_HOME/conf下,并追加内容
          • 四、复制导入Hive元数据必须的jar包
            • 五、执行同步Hive 元数据脚本
              • 六、以上导入元数据成功后,可以在Atlas页面中查看
                • 七、在Hive中创建数据表,查看是否能被Atlas监控
                  • 八、刷新Atlas页面,可以看到数据被同步
                  相关产品与服务
                  图数据库 KonisGraph
                  图数据库 KonisGraph(TencentDB for KonisGraph)是一种云端图数据库服务,基于腾讯在海量图数据上的实践经验,提供一站式海量图数据存储、管理、实时查询、计算、可视化分析能力;KonisGraph 支持属性图模型和 TinkerPop Gremlin 查询语言,能够帮助用户快速完成对图数据的建模、查询和可视化分析。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档