把SqlFlow中的血缘查看功能集成到DataHub

我们对DataHub的前端页面进行了改造,使之支持Gudu SQLFlow 血缘关系查看功能,目前匹配的datahub版本为0.10.4。

如果想让您的DataHub系统支持Gudu SQLFlow,只需要用我们提供的 datahub-web-react-datahub-web-react-assets.jar 文件替换掉DataHub系统中的同名文件即可(注意:随着 datahub 版本的更新,这个文件名有可能发生变化,请定时访问这个网页以获取最新信息)。

程序请联系support@sqlflow.cn获取 datahub-web-react-datahub-web-react-assets.jar 下载链接。

接下来您只需要以下几步就可以完成集成Gudu SQLFLOW 。

1、安装SQLFlow

DataHub 需要SQLFlow regular版本。您可以直接在服务器上安装 SQLFlow 的regular版本,也可以使用 docker 映像启动一个容器。

a、直接安装

查看我们的产品文档以了解直接安装

b、使用 Docker 镜像

拉取镜像:

docker pull gudusqlflow/sqlflow-regular-trial:5.7.5

创建容器

docker run -itd -p 7090:80 --name mysqlflow gudusqlflow/sqlflow-regular-trial:5.7.5

上面命令中的7090将会是访问 SQLFlow UI 的端口。如果您的机器7090被占用,您可以更改端口。

mysqlflow是容器的名称。有关容器创建的更多信息,您可以查看Docker 官方文档

2、修改Gudu SQLFlow的API服务地址

打开datahub-web-react-datahub-web-react-assets.jar内的config.js文件修改GuduSqlFlowUrl参数为自己的GuduSqlFlowUrl服务地址。

下面以Winows操作系统为例。

鼠标选中datahub-web-react-datahub-web-react-assets.jar,右键菜单用解压缩工具打开。

找到public/sqlflow/config.js 文件,将此文件拖出来。

用记事本打开config.js,修改GuduSqlFlowUrl值为自己sqlflow服务的api地址。

修改保存后,将config.js文件拖入到datahub-web-react-datahub-web-react-assets.jar内替换掉原文件。

注意:配置的GuduSqlFlowUrl中ip地址是浏览器中直接访问的,不能是localhost或127.0.0.1 ,如果需要公网访问,需要配置公网ip地址。

比如,以docker方式创建的sqlflow服务:

docker run -itd -p 7090:80 –name mysqlflow gudusqlflow/sqlflow-regular-trial:5.7.4

配置的GuduSqlFlowUrl应为:

var config = {
GuduSqlFlowUrl: ‘http://<ip>:7090/api/’,

};

3、更新程序

1、将datahub-web-react-datahub-web-react-assets.jar上传到服务器。

2、停掉datahub-frontend-react容器

找到容器ID

docker ps -a

停掉容器

docker stop 容器ID

3、备份datahub-web-react-datahub-web-react-assets.jar

docker cp datahub-frontend-react:/datahub-frontend/lib/datahub-web-react-datahub-web-react-assets.jar 备份路径

4、将新的datahub-web-react-datahub-web-react-assets.jar拷贝到docker容器内并启动docker容器。

docker cp 新datahub-web-react-datahub-web-react-assets.jar文件路径 datahub-frontend-react:/datahub-frontend/lib/

docker start 容器ID

4、集成后效果

重新打开DataHub UI,可以看到在表级和字段级都增加了Gudu SQLFlow数据血缘关系查看功能。

1、在表信息界面,点击Gudu SQLFlow选项卡,会显示表级别的upstream和downstream,如下图所示:

2、点击 Schema选项卡,可以看到字段信息列表增加了一列Gudu SQLFlow,点击某个字段对应的Lineage可以查看此字段的数据血缘关系。

3、首次集成后,对于历史的元数据无法查看其血缘关系,需要到对应的 Ingestion重新执行一下元数据导入,因为经过我们的改造,导入元数据的同时,datahub会自动连接sqlflow进行血缘分析。