hive表级血源解析
hive血源
通过查看代码 发现 hive 自带了 一个表级血源解析工具类1
org.apache.hadoop.hive.ql.tools.LineageInfo
我们可以这样使用1
2
3
4
5
6
7
8
9
10
11
12
13
14public static void main(String[] args) throws IOException, ParseException,
SemanticException {
String query = "INSERT OVERWRITE TABLE TABL_A SELECT * FROM TABLE_B";
LineageInfo lep = new LineageInfo();
lep.getLineageInfo(query);
for (String tab : lep.getInputTableList()) {
System.out.println("InputTable=" + tab);
}
for (String tab : lep.getOutputTableList()) {
System.out.println("OutputTable=" + tab);
}
}
这样 就可以根据 hive sql 获取 表级血源
使用时 需要引入依赖1
2
3
4
5<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>2.1.1</version>
</dependency>
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!