基于Hadoop的海量数据数据质量校验方法技术

技术编号:24853205 阅读:17 留言:0更新日期:2020-07-10 19:07
本发明专利技术公开了基于Hadoop的海量数据数据质量校验方法,包括:制定数据质量标准;对于DDL指令,将创建表的元数据信息写入Hive;对于DQL语句,将SQL字符串转换为抽象语法树,对抽象语法树进行语法分析,同时根据数据质量标准,解析最新生成SQL语义是否有误,并添加扩展信息;将抽象语法树编译生成相应的逻辑执行计划并优化,将优化后的逻辑执行计划转换成物理计划,生成MapReduce的作业并提交到Yarn上执行,最后,将执行结果返回;返回的执行结果存入HDFS,并进行数据可视以及异常数据导出、追踪、溯源。达到异常数据可展示、可追溯、易配置、易分类的数据质量校验效果。

【技术实现步骤摘要】
基于Hadoop的海量数据数据质量校验方法
本专利技术涉及大数据
,尤其涉及数据质量的校验方法。
技术介绍
在目前信息化技术和互联网技术的迅速发展下,数据量呈喷井式增长,数据类型也逐渐增多,并且复杂程度越来越高,现代社会已进入大数据时代。在这种背景下,要想充分发挥大数据的应用价值,必须加强数据质量管理力度,提高数据传输及使用的安全性、准确性、稳定性。在过去几十年发展历程中,以Oracle等大型关系数据库为主,近几年也出现了各种各样层出不穷的开源数据库,比如MySQL、PGSQL等关系型数据库,很多半结构化数据库,比如ElasticSearch,mongodb等,以及各种图数据库的兴起,还有很多互联网非结构化数据。基于数据仓库的数据中台建设在数据治理中数据质量就显得尤为重要;如果不对不符合规范的数据进行标准化识别、筛选;不仅面临数据存储的问题,还会导致很多有价值的信息变得很难获取,大量无效数据污染,加大无谓的人力财力成本的投入。在传统的数据质量过程中,很多都忽视了数据质量的重要性,导致很多正常的数据被异常数据污染,通常都是被动地被下游用户或者应用团队发现之后,然后告诉大数据数据分析团队去查找异常数据原因,然后去上游查找根源。这样就会导致排查周期慢、流程复杂、费时费力、只有专门的人员才能理解,学习成本增加、数据堆积等诸多问题。
技术实现思路
本专利技术的目的在于提供基于Hadoop的海量数据数据质量校验方法,有效实现数据质量校验。实现上述目的的技术方案是:基于Hadoop的海量数据数据质量校验方法,包括:步骤1,制定数据质量标准,并存储于Hive的第二元数据库中;步骤2,用户通过WEBUI浏览器界面、JDBC/ODBC接口或者CLI命令行的方式连接访问Hive;步骤3,用户向Hive提交SQL指令,Hive内驱动器识别SQL指令类型,对于DDL指令,将创建表的元数据信息写入Hive自身的第一元数据库中;对于DQL语句,将SQL字符串转换为抽象语法树,对抽象语法树进行语法分析,同时根据第二元数据库中的数据质量标准,解析最新生成SQL语义是否有误,并添加扩展信息;步骤4,驱动器中编译器将抽象语法树编译生成相应的逻辑执行计划,结合第二元数据库中的数据质量标准,驱动器中优化器对逻辑执行计划进行优化,驱动器中执行器将优化后的逻辑执行计划转换成物理计划,生成MapReduce的作业并提交到Yarn上执行,最后,将执行结果返回;步骤5,返回的执行结果存入HDFS,并进行数据可视以及异常数据导出、追踪、溯源。优选的,所述的数据质量标准包括:正则规则:通过自定义正则表达式的形式制定的规则;验证规则:邮箱号码验证,手机号码验证,车牌号码验证;判断规则:判断内容长度、是否为空、数据范围;内容格式规则;特定场景下算法规则;定义数据质量校验的标准输入与输出:定义数据质量校验的输入参数、输出参数、返回格式、字段格式信息。优选的,所述的返回格式指:使用Json数组的形式作为数据质量探查的结果输出。优选的,步骤3中,所述的对抽象语法树进行语法分析,包括:驱动器访问第一元数据库获取相应的元数据信息,判断查询语句中需要查询的表是否存在,然后判断查询语句中所需要查询的字段是否存在,判断查询语法、语义是否正确,查询中关键词是否书写正确、查询中聚合的字段是否出现在groupby语句之后、函数是否存在、函数的传参值类型格式是否正确;所述的根据第二元数据库中的数据质量标准,解析最新生成SQL语义是否有误,并添加扩展信息,包括:驱动器访问第二元数据库中的数据质量标准,根据数据质量校验的标准输入与输出对字段添加判断规则,再次解析最新生成SQL语义是否有误,同时添加扩展信息,扩展信息包括:用于识别该条记录的唯一ID、用于记录状态的标记字段、记录的更新时间和首次插入时间信息。优选的,步骤4中,所述的编译器将抽象语法树编译生成相应的逻辑执行计划,指:编译器遍历整个抽象语法树,将其抽象成一个一个的子查询块,然后将各个子查询块合并成执行操作树;所述的优化器对逻辑执行计划进行优化,指:优化器对执行操作树进行合并、删除来减少MapReduce任务。优选的,步骤5中,用户使用select进行执行结果查看,同时使用insert语句将执行结果重新存储到HDFS。优选的,步骤5中,所述的进行数据可视以及异常数据导出、追踪、溯源,包括:对返回的执行结果中的Json返回内容进行解析,通过聚类统计,生成的每条记录都存在唯一的ID信息,根据该信息快速溯源到原始记录,对异常数据追踪和溯源。优选的,步骤5中,将用户的任务加入调度任务中,进行周期性离线数据质量校验。本专利技术的有益效果是:本专利技术通过在不同的治理流程中制定不同的数据标准,及时对流入每个环节的数据做处理,生成相应的结果,达到异常数据可展示、可追溯、易配置、易分类的数据质量校验效果。形成了完整的闭环,保证了从数据输入->数据校验->异常问题发现->问题溯源整个闭环链路,有效解决问题难以溯源的问题。制定的规则可以借助Hive的用户自定义函数,借助缓存的形式存储,很方便开发中使用,用户只需要定义标准规则以及标准输入输出格式即可对数据质量进行校验工作,就可以很好的减少人力成本投入,实现对数据质量进行校验,这种存储方式具有占用资源少,复杂逻辑内嵌的优势。依托于Hive特性,在传统Hive架构原理基础上很好的将标准规则存储到元数据库中,实现与Hive的兼容。同时可以借助一些查询搜索引擎,对异常数据准实时的搜索查询。并且,本专利技术依然支持标准的JDBC/ODBC数据库连接协议,不做任何修改,便于兼容开发者使用。算法支持标准SQL2003标准,不会对SQL解析层做任何修改,依然满足HiveSQL语法的支持和使用,可以无缝衔接原有Hive的架构,在原有Hive功能基础上通过添加数据质量元数据库,在驱动器部分实现对数据质量的校验。附图说明图1是本专利技术的基于Hadoop的海量数据数据质量校验方法的示意图;图2是本专利技术中数据治理从数据接入到数据质量校验到结果输出的执行流程示意图;图3是本专利技术中驱动器对DDL和DQL语句处理的流程示意图。具体实施方式下面将结合附图对本专利技术作进一步说明。本专利技术的基于Hadoop的海量数据数据质量校验方法,包括下列步骤:步骤1,制定数据质量标准,包括:正则规则,即:通过自定义正则表达式的形式制定的规则。验证规则,即:邮箱号码验证,手机号码验证,车牌号码验证等等。判断规则,即:判断内容长度、是否为空、数据范围。内容格式规则,比如是否包含某些特定内容。特定场景下算法规则,比如:信用卡生成规则,身份证号码需要满足前六位代表行政区划,七到十四位代表出生日期,第十七位代表性别,最后一位满足校验规则。定义数本文档来自技高网...

【技术保护点】
1.基于Hadoop的海量数据数据质量校验方法,其特征在于,包括:/n步骤1,制定数据质量标准,并存储于Hive的第二元数据库中;/n步骤2,用户通过WEBUI浏览器界面、JDBC/ODBC接口或者CLI命令行的方式连接访问Hive;/n步骤3,用户向Hive提交SQL指令,Hive内驱动器识别SQL指令类型,对于DDL指令,将创建表的元数据信息写入Hive自身的第一元数据库中;对于DQL语句,将SQL字符串转换为抽象语法树,对抽象语法树进行语法分析,同时根据第二元数据库中的数据质量标准,解析最新生成SQL语义是否有误,并添加扩展信息;/n步骤4,驱动器中编译器将抽象语法树编译生成相应的逻辑执行计划,结合第二元数据库中的数据质量标准,驱动器中优化器对逻辑执行计划进行优化,驱动器中执行器将优化后的逻辑执行计划转换成物理计划,生成MapReduce的作业并提交到Yarn上执行,最后,将执行结果返回;/n步骤5,返回的执行结果存入HDFS,并进行数据可视以及异常数据导出、追踪、溯源。/n

【技术特征摘要】
1.基于Hadoop的海量数据数据质量校验方法,其特征在于,包括:
步骤1,制定数据质量标准,并存储于Hive的第二元数据库中;
步骤2,用户通过WEBUI浏览器界面、JDBC/ODBC接口或者CLI命令行的方式连接访问Hive;
步骤3,用户向Hive提交SQL指令,Hive内驱动器识别SQL指令类型,对于DDL指令,将创建表的元数据信息写入Hive自身的第一元数据库中;对于DQL语句,将SQL字符串转换为抽象语法树,对抽象语法树进行语法分析,同时根据第二元数据库中的数据质量标准,解析最新生成SQL语义是否有误,并添加扩展信息;
步骤4,驱动器中编译器将抽象语法树编译生成相应的逻辑执行计划,结合第二元数据库中的数据质量标准,驱动器中优化器对逻辑执行计划进行优化,驱动器中执行器将优化后的逻辑执行计划转换成物理计划,生成MapReduce的作业并提交到Yarn上执行,最后,将执行结果返回;
步骤5,返回的执行结果存入HDFS,并进行数据可视以及异常数据导出、追踪、溯源。


2.根据权利要求1所述的基于Hadoop的海量数据数据质量校验方法,其特征在于,所述的数据质量标准包括:
正则规则:通过自定义正则表达式的形式制定的规则;
验证规则:邮箱号码验证,手机号码验证,车牌号码验证;
判断规则:判断内容长度、是否为空、数据范围;
内容格式规则;
特定场景下算法规则;
定义数据质量校验的标准输入与输出:定义数据质量校验的输入参数、输出参数、返回格式、字段格式信息。


3.根据权利要求2所述的基于Hadoop的海量数据数据质量校验方法,其特征在于,所述的返回格式指:使用Json数组的形式作为数据质量探查的结果输出。


4.根据权利要求2所述的基于Hadoop的海量数据数据质量校验方法,其特征在于,步骤3中,所述的对抽象语法树进行语法分析,包括:
驱动...

【专利技术属性】
技术研发人员:李青枝谢赟吴新野黄海清陈大伟
申请(专利权)人:上海德拓信息技术股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1