目前开始更新 MyBatis,一起深入浅出!
数据质量监控是一个持续的过程,旨在确保数据在整个生命周期中保持高质量。它包括多方面的监控措施,通常包括以下几个主要内容:
数据质量监控通常结合自动化工具和人工审查,利用数据质量管理平台进行实时监控,生成报告并触发警报,以便及时纠正问题。这些工具和方法帮助企业确保其数据可以用于可靠的分析和决策。
企业早起没有进行统一的规划,大部分信息系统是逐步迭代建设的,系统建设的时间长度不一样,各系统数据标准也不同。企业业务系统更关注业务层面,各个业务系统均有不同的侧重点,各类数据的属性信息设置和要求不统一。
另外,由于各系统的互相独立使用,无法及时同步更新相关信息等各种原因造成系统之间的数据不一致,严重影响了各个系统数据交互和统一识别,基础数据难以共享利用,数据的深层价值也难以体现。
由于企业信息系统的孤立使用,各个业务系统或模块按照各自的需要录入数据,没有统一的录入工具和数据出口,业务系统不需要的信息就不录,造成同样的数据在不同的系统有不同的属性信息,数据完整性无法得到保障。
没有统一的数据管理平台和数据源头,数据全生命周期管理不完整,同时企业各信息系统的数据录入环节过于简单且手工参与较多,就数据本身而言,缺少是否重复、合法、对错等校验环节,导致各个系统的数据不够准确,格式混乱,各类数据难以集成和统一,没有质量控制导致海量数据因质量过低而被难以使用,且没有相应的数据管理流程。
各个信息系统针对数据的标准规范不一,编码规则不一,校验方式不一,且部分业务对数据的验证标准严重缺失,造成了企业顶层视角出现了:一物多码、一码多物的现象。
数据质量监控设计的要求分为4个模块:数据、规则、告警、反馈
Apache Griffin是一个开源的大数据质量解决方案,它支持批处理和流处理两种模式的数据质量检测方式。可以从不同的维度(如离线任务执行完毕后检查源端和目标端的数据质量是否一致,源表数据值空值等)度量数据资产,从而提升数据的准确度、可信度。
Griffin主要分为Define、Measure和Analyze三个部分:
各部分的职责如下:
备注:
Spark在之前的章节已经安装完了,这里做一些额外的配置:
拷贝MySQL驱动:
cp $HIVE_HOME/lib/mysql-connector-java-8.0.19.jar $SPARK_HOME/jars/
将 Spark 的 jar 包上传到 hdfs://h121.wzk.icu:9000/spark/spark_2.2.1_jars/
hdfs dfs -mkdir -p /spark/logs
hdfs dfs -mkdir -p /spark/spark_2.4.5_jars/
hdfs dfs -put /opt/servers/spark-2.4.5-bin-without-hadoop-scala-2.12/jars/*.jar /spark/spark_2.4.5_jars/
yarn-site.xml配置:
vim /opt/servers/hadoop-2.9.2/etc/hadoop/yarn-site.xml
写入如下内容:
<property>
<name>yarn.nodemanager.vmem-check-enabledname>
<value>falsevalue>
property>
h123.wzk.icu 为 ES 服务所在节点
curl -XPUT http://h123.wzk.icu:9200/griffin -d '
{
"aliases": {},
"mappings": {
"accuracy": {
"properties": {
"name": {
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
},
"type": "text"
},
"tmst": {
"type": "date"
}
}
}
},
"settings": {
"index": {
"number_of_replicas": "2",
"number_of_shards": "5"
}
}
}