# hive-hook-plugin-cdh6.3.2
**Repository Path**: ch3un9/hive-hook-plugin-cdh6.3.2
## Basic Information
- **Project Name**: hive-hook-plugin-cdh6.3.2
- **Description**: CDH6.3.2上hive血缘关系
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2023-06-10
- **Last Updated**: 2023-06-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## hive-hook-plugin-cdh6.3.2
#### 介绍
CDH6.3.2上hive血缘关系
#### 1、项目编译后,将生成的jar包复制到hive的lib目录下,应该只要放在HS2对应的节点上
hive-hook-plugin-1.0.jar
#### 2、修改hive-site.xml,添加相应配置,在CM上进行修改,修改Hive和HiveServer2 高级配置代码段
```
hive.metastore.event.listeners
org.data.meta.hive.listener.MetaStoreListener
hive.metastore.pre.event.listeners
org.data.meta.hive.listener.MetaStorePreAuditListener
hive.exec.post.hooks
org.apache.hadoop.hive.ql.hooks.LineageLogger,org.data.meta.hive.hook.LineageLoggerHook
```
#### 3、重启Hive服务
#### 4、生成的log会在HS2节点的/data1/log/hive/lineage目录下,每台HS2都会有对应的log
#### 5、生成的血缘json格式如下
```
--测试SQL
INSERT into test.test06
SELECT a.col as id,
b.col2 as name
from ods.test0108 a
LEFT JOIN test.test04 b ON a.col = b.col1
where b.col1 = 1
;
```
```
EVENT##U-bdf53c3c-04f3-40af-9a7a-a2177c2922cc##1664349820789##HIVE##LineageHookInfo##{"database":"test","duration":17737,"engine":"mr","hash":"96e2411124dc3373b560b382185afac5","jobIds":["job_1660100089000_0034"],"queryText":"INSERT into test.test06 \r\nSELECT a.col as id,\r\n b.col2 as name\r\nfrom ods.test0108 a\r\nLEFT JOIN test.test04 b ON a.col \u003d b.col1\r\nwhere b.col1 \u003d 1","timestamp":1664349803,"user":"hive","userGroupNames":["hive"],"version":"1.0","columnLineages":[{"srcDatabase":"ods","destDatabase":"test","edgeType":"PROJECTION","sources":[{"table":"test0108","column":"col"}],"targets":[{"table":"test06","column":"id"}]},{"srcDatabase":"test","destDatabase":"test","edgeType":"PROJECTION","sources":[{"table":"test04","column":"col2"}],"targets":[{"table":"test06","column":"name"}]},{"srcDatabase":"test","destDatabase":"test","expression":"(a.col \u003d b.col1)","edgeType":"PREDICATE","sources":[{"table":"test0108","column":"col"},{"table":"test04","column":"col1"}],"targets":[{"table":"test06","column":"id"},{"table":"test06","column":"name"}]},{"srcDatabase":"test","destDatabase":"test","expression":"(b.col1 \u003d 1)","edgeType":"PREDICATE","sources":[{"table":"test04","column":"col1"}],"targets":[{"table":"test06","column":"id"},{"table":"test06","column":"name"}]}],"tableLineages":[{"srcDatabase":"test","destDatabase":"test","srcTable":"test04","destTable":"test06"},{"srcDatabase":"ods","destDatabase":"test","srcTable":"test0108","destTable":"test06"}]}
```
目前血缘只能统计hive组件,无法统计impala组件运行SQL产生的血缘关系