我们对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进行血缘分析。