元数据管理atlas导入hive和hbase元数据以及生成血缘

2023-10-24 01:50

本文主要是介绍元数据管理atlas导入hive和hbase元数据以及生成血缘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文主要讲解导入hive和hbase元数据遇到的坑,以及hive生成列血缘遇到的问题和解决方式。

Atlas版本0.8.4

Hive版本1.2.1

HBase版本1.3.1

1.安装和集成

略略略

服务名称

子服务

HDP-001

HDP-002

HDP-003

HDP-004

HDP-005

HDP-006

HDP-007

HDP-008

HDFS

NameNode

 

 

 

 

 

 

 

DataNode

 

SecondaryNameNode

 

 

 

 

 

 

 

Yarn

ResourceManager

 

 

 

 

 

 

 

NodeManager

 

JobHistoryServer

 

 

 

 

 

 

 

Zookeeper

QuorumPeerMain

 

 

 

 

 

Hive

RunJar

 

 

 

 

 

 

 

Hbase

HMaster

 

 

 

 

 

 

 

HRegionServer

 

Solr

Jar

 

 

 

 

 

Kafka

Kafka

 

 

 

 

 

MySQL

MySQL

 

 

 

 

 

 

 

Atlas

atlas

 

 

 

 

 

 

 

2.导入Hive元数据

1.进入/opt/module/atlas/conf/目录,修改配置文件atlas-application.properties

gw@HDP-001:/data/module/apache-atlas-0.8.4/conf$ vim atlas-application.properties#添加如下配置######### Hive Hook Configs #######atlas.hook.hive.synchronous=falseatlas.hook.hive.numRetries=3atlas.hook.hive.queueSize=10000atlas.cluster.name=primary

2、将atlas-application.properties配置文件加入到atlas-plugin-classloader-1.0.0.jar中

gw@HDP-001:/data/module/apache-atlas-0.8.4$ cd hook/hivegw@HDP-001:/data/module/apache-atlas-0.8.4/hook/hive$ zip -u atlas-plugin-classloader-0.8.4.jar /data/module/apache-atlas-0.8.4/conf/atlas-application.propertiesgw@HDP-001:/data/module/apache-atlas-0.8.4/hook/hive$ cp /data/module/apache-atlas-0.8.4/conf/atlas-application.properties /data/module/hive/conf/

3、在/data/module/hive/conf/hive-site.xml文件中设置Atlas hook

gw@HDP-001:/data/module/hive/conf$ vim hive-site.xml<property><name>hive.exec.post.hooks</name><value>org.apache.atlas.hive.hook.HiveHook</value></property>

4.追加hive插件相关jar

gw@HDP-001:/data/module/hive/conf$ vim hive-env.shexport HIVE_AUX_JARS_PATH=/data/module/apache-atlas-0.8.4/hook/hive/atlas-plugin-classloader-0.8.4.jar,/data/module/apache-atlas-0.8.4/hook/hive/hive-bridge-shim-0.8.4.jar

5、导入Hive元数据

gw@HDP-001:/data/module/apache-atlas-0.8.4$ bin/import-hive.sh

输入用户admin,密码admin

3.导入HBase元数据

1、进入/opt/module/atlas/conf/目录,修改配置文件atlas-application.properties

gw@HDP-001:/data/module/apache-atlas-0.8.4/conf$ vim atlas-application.properties#添加如下配置######### HBase Hook Configs #######atlas.hook.hbase.synchronous=falseatlas.hook.hbase.numRetries=3atlas.hook.hbase.queueSize=10000atlas.cluster.name=primary

2、将atlas-application.properties配置文件加入到atlas-plugin-classloader-1.0.0.jar

gw@HDP-001:/data/module/apache-atlas-0.8.4$ cd hook/hbasegw@HDP-001:/data/module/apache-atlas-0.8.4/hook/hbase$ zip -u atlas-plugin-classloader-0.8.4.jar /data/module/apache-atlas-0.8.4/conf/atlas-application.propertiesgw@HDP-001:/data/module/apache-atlas-0.8.4/hook/hbase$ cp /data/module/apache-atlas-0.8.4/conf/atlas-application.properties /data/module/hbase-1.3.1/conf/

3、在/data/module/hbase-1.3.1/conf/hbase-site.xml文件中设置Atlas hook

gw@HDP-001:/data/module/hbase-1.3.1/conf$ vim hbase-site.xml<property><name>hbase.coprocessor.master.classes</name><value>org.apache.atlas.hbase.hook.HBaseAtlasCoprocessor</value></property>

4、在HBase类路径中链接Atlas hook jars

gw@HDP-001:/data/module/apache-atlas-0.8.4$ ln -s /data/module/apache-atlas-0.8.4/hook/hbase/* /data/module/hbase-1.3.1/lib/

5、导入HBase元数据

gw@HDP-001:/data/module/apache-atlas-0.8.4$ hook-bin/import-hbase.sh

 

         注意:此处有个bug,导入HBase元数据报错,如下,经过查找原因发现是编译的时候没有将jersey- multipart.jar包下载下来,手动去maven仓库下载jersey-multipart-1.19.3.jar,拷贝到HBASE_HOME/lib目录下

         导入成功,能看到kafka topic有数据写入:

4.界面查看

4.1查询Hive库

1、查询Hive库,类型选择hive_db

         属性包含qualifiedName, name, description, owner, clusterName, location, parameters, ownerName

2.查询Hive表,类型选择hive_table

 

         属性包含:qualifiedName, name, description, owner, db, createTime, lastAccessTime, comment, retention, sd, partitionKeys, columns, aliases, parameters, viewOriginalText, viewExpandedText, tableType, temporary

3.查询hive表的列,类型选择hive_column

 

4.查询hive表的存储描述,类型选择hive_storagedesc

5.查询hive进程,类型选择hive_process

6.查看表级血缘关系

选择一个表,点击Lineage,显示血缘关系图

         点击Audits,可显示表修改的时间和详情

         点击Schema,可以看到表字段信息

7.查看列级血缘关系

官网笔记:Column level lineage works with Hive version 1.2.1 after the patch for HIVE-13112 is applied to Hive source

列级血缘需要打补丁才能在hive 1.2.1上使用,下面开始尝试打补丁-编译,下载HIVE-13112.01.patch和apache-hive-1.2.1-src.tar.gz源码包。

gw@HDP-001:/data/software$ tar xf apache-hive-1.2.1-src.tar.gzgw@HDP-001:/data/software$ cd apache-hive-1.2.1-src#上传HIVE-13112.01.patch到/data/software/apache-hive-1.2.1-srcgw@HDP-001:/data/software/apache-hive-1.2.1-src$ patch -p1 < HIVE-13112.01.patchcan't find file to patch at input line 5Perhaps you used the wrong -p or --strip option?The text leading up to this was:--------------------------|diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java|index 6fca9f7..0fe09aa 100644|--- ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java|+++ ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java--------------------------File to patch:Skip this patch? [y] ySkipping patch.3 out of 3 hunks ignored#使用patch打补丁报错,下面使用-p0参数gw@HDP-001:/data/software/apache-hive-1.2.1-src$ patch -p0 < HIVE-13112.01.patchpatching file ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.javaHunk #1 succeeded at 93 with fuzz 1.Hunk #2 succeeded at 4134 (offset 219 lines).patching file ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.javaHunk #1 succeeded at 6671 (offset -225 lines).Hunk #2 FAILED at 11302.1 out of 2 hunks FAILED -- saving rejects to file ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java.rejpatching file ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.javaHunk #1 succeeded at 79 with fuzz 2 (offset -8 lines).Hunk #2 succeeded at 104 (offset -8 lines).Hunk #3 FAILED at 611.1 out of 3 hunks FAILED -- saving rejects to file ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java.rej

 #显示第3步还是报错,尝试根据HIVE-13112.01.patch文件内容手动修改java文件,将+号内容添加到指定件中,如:

#修改完成后,开始编译hive源码
gw@HDP-001:/data/software/apache-hive-1.2.1-src$ mvn clean package -Phadoop-2 -DskipTests –Pdist

 #编译完成后,会在packaging/target/目录下产生以下几个文件

#备份已安装好的hive/lib目录,将新编译的lib文件包拷贝并替换到已安装好的hive目录中

gw@HDP-001:/data/module/hive$ cp -rp lib/ lib_bakgw@HDP-001:/data/software/apache-hive-1.2.1-src/packaging/target$ cp -rp apache-hive-1.2.1-bin/apache-hive-1.2.1-bin/bin /data/module/hive/lib演示列级血缘关系,hive cli里操作:create table t1 (id int, name string);create table t2 as select id,name from t1;查看t2的id列血缘:

 4.2查询HBase库

 1.查询hbase命名空间,类型选择hbases_namespace

 属性包含:qualifiedName, name, description, owner, clusterName, parameters, createTime, modifiedTime

 2.查询hbase表,类型选择hbase_table

          属性包含:qualifiedName, name, description, owner, namespace, column_families, uri, parameters, createtime, modifiedtime, maxfilesize, isReadOnly, isCompactionEnabled, isNormalizationEnabled, ReplicaPerRegion, Durability

3.查看hbase列族,类型选择hbase_column_family

这篇关于元数据管理atlas导入hive和hbase元数据以及生成血缘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/271908

相关文章

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

Java easyExcel实现导入多sheet的Excel

《JavaeasyExcel实现导入多sheet的Excel》这篇文章主要为大家详细介绍了如何使用JavaeasyExcel实现导入多sheet的Excel,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录1.官网2.Excel样式3.代码1.官网easyExcel官网2.Excel样式3.代码

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

SpringBoot中4种数据水平分片策略

《SpringBoot中4种数据水平分片策略》数据水平分片作为一种水平扩展策略,通过将数据分散到多个物理节点上,有效解决了存储容量和性能瓶颈问题,下面小编就来和大家分享4种数据分片策略吧... 目录一、前言二、哈希分片2.1 原理2.2 SpringBoot实现2.3 优缺点分析2.4 适用场景三、范围分片

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

浅析如何保证MySQL与Redis数据一致性

《浅析如何保证MySQL与Redis数据一致性》在互联网应用中,MySQL作为持久化存储引擎,Redis作为高性能缓存层,两者的组合能有效提升系统性能,下面我们来看看如何保证两者的数据一致性吧... 目录一、数据不一致性的根源1.1 典型不一致场景1.2 关键矛盾点二、一致性保障策略2.1 基础策略:更新数

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指