数据质量监控工具-Apache Griffin本地安装和调试



1 、Apache Griffin简介


Griffin起源于eBay中国,并于2016年12月进入Apache孵化器,Apache软件基金会2018年12月12日正式宣布Apache Griffin毕业成为Apache顶级项目。


Griffin是属于模型驱动的方案,基于目标数据集合或者源数据集(基准数据),用户可以选择不同的数据质量维度来执行目标数据质量的验证。支持两种类型的数据源:batch数据和streaming数据。对于batch数据,我们可以通过数据连接器从Hadoop平台收集数据。对于streaming数据,我们可以连接到诸如Kafka之类的消息系统来做近似实时数据分析。在拿到数据之后,模型引擎将在spark集群中计算数据质量。


2、代码下载


https://github.com/apache/griffin 选择master分支,下载zip包,或者利用git,直接克隆代码


3、本地安装


把代码导入idea,等待所有依赖的jar包的下载完成,整个过程可能需要10分钟左右


数据质量处理demo 数据质量 griffin_Apache Griffin


4.修改配置文件


4.1 修改service模块下的pom.xml文件,把支持mysql的profIle的注释放开


原来的pom.xml:


数据质量处理demo 数据质量 griffin_数据质量监控工具_02


修改之后的pom.xml


数据质量处理demo 数据质量 griffin_大数据质量_03


4.2修改service模块下的application.properties


数据质量处理demo 数据质量 griffin_大数据质量_04


修改前:


数据质量处理demo 数据质量 griffin_数据质量处理demo_05


修改后:


数据质量处理demo 数据质量 griffin_分布式_06


4.3 修改ui模块下的angular下的environment.ts


修改前


数据质量处理demo 数据质量 griffin_数据质量处理demo_07


修改后:


数据质量处理demo 数据质量 griffin_数据质量监控工具_08


5、执行初始化脚本


初始化脚本在service模块下的resource目录下,因为使用的是mysql数据库,所以执行的是mysql的初始化脚本:


数据质量处理demo 数据质量 griffin_数据质量处理demo_09


6、启动项目


6.1、启动serve模块


直接debug运行service模块下的GriffinWebApplication这个类即可:


数据质量处理demo 数据质量 griffin_数据质量监控工具_10


因为这里我没有改hive的元数据信息配置,这个项目启动的时候就会去找连接hive的元数据,所以项目启动的时候会报错,但这并不会影响项目的正常启动


数据质量处理demo 数据质量 griffin_数据质量处理demo_11


数据质量处理demo 数据质量 griffin_Apache Griffin_12


6.2启动前端


先把ui模块进行编译,编译之后去到node_modules目录下中的./bin目录 执行如下命令:


ng serve --port 8081


这里的端口不能是8080,因为8080已经被service模块占用了


数据质量处理demo 数据质量 griffin_大数据质量_13


6.3在浏览器中打开


http://localhost:8081


数据质量处理demo 数据质量 griffin_数据质量处理demo_14


出现这个页面说明本地可以正常启动了,后台默认是没有用户名和密码的,直接点击登录就可以了


点击登录之后看到的页面;


数据质量处理demo 数据质量 griffin_Apache Griffin_15


7、断点调试


7.1 在后台的service模块下的JobController类上打上断点


数据质量处理demo 数据质量 griffin_数据质量监控工具_16


在浏览器上切换到job的页面,会发出查询所有Jobs的请求:


数据质量处理demo 数据质量 griffin_大数据质量_17


发现后台的断点已经进到了:


数据质量处理demo 数据质量 griffin_数据质量监控工具_18


如果本地安装启动过程,遇到问题无法解决,