sqlflow-ingester利用exporter 和 submitter 获得 oracle 数据库的血缘关系

sqlflow-ingester 提供了一系列工具,其中exporter用于导出数据库的元数据,submitter用于向 sqlflow server 递交 sql 和 元数据,创建job,生成血缘关系,让用户在UI中查看结果。

本文以oracle数据库为例,介绍如何利用exporter 和submitter两个工具获取数据库的血缘关系。

下面以linux操作系统为例进行介绍(windows下可参考执行.bat文件)

1、获取sqlflow-ingester应用程序包后,解压程序到指定目录:

unzip sqlflow-ingester1.0.zip  -d /home/sqlflow-ingester1.0

2、进入程序目录

cd  /home/sqlflow-ingester1.0

首次使用需要额外做两件事

2.1 给程序添加可执行权限

chmod u+x exporter.sh submitter.sh

2.2 配置sqlflow server服务地址

vim conf/config-default.json

主要配置sqlFlowServer下的sqlflow server地址、端口和用户ID.

3、利用exporter导出元数据, 命令为:

./exporter.sh -host xxx -port 1521 -db orcl -user xx-pwd xx-save /home -dbVendor dbvoracle

命令参数说明:

-dbVendor 数据库类型,oracle为 dbvoracle,
     dbVendor支持指定版本,用:分割,如mysql5.7,可写成dbvmysql:5.7
-host 数据库主机(ip地址或域名)
-port 端口
-db 数据库名称
-user 数据库登录用户名
-pwd  数据库登录密码
-save 导出元数据保存文件夹,文件名是metadata.json
-extractedDbsSchemas导出指定 schema 下的数据库对象
-excludedDbsSchemas 导出不包括 schema 下的数据库对象
-extractedStoredProcedures 指定存储过程
-extractedViews 指定视图

导出成功后。如下图所示:

4、利用submitter提交exporter导出的元数据到sqlflow。命令为:

./submitter.sh -meta /home/metadata.json

参数说明:-meta 要提交sqlflow的元数据文件。

提交成功后,如下图所示:

5、submit成功后,在sqlflow可以看到新增了一个job,可以查看数据库的血缘关系。