[发明专利]检测hive数据表的方法和装置有效
申请号: | 201710352699.1 | 申请日: | 2017-05-18 |
公开(公告)号: | CN108958959B | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 何林艳 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F16/242 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 hive 数据表 方法 装置 | ||
本发明实施例提供一种检测hive数据表的方法和装置,涉及计算机技术领域,能够快速准确地对hive数据表进行数据唯一性检测。本发明实施例的检测hive数据表的方法包括:针对被测hive数据表建立配置文件,配置文件的配置信息包括表名和主键;构建用于统计hive数据表中主键出现次数的data文件,data文件为键值对型,以hive数据表的数据记录的主键作为键,并且以hive数据表的主键出现次数作为值;在监测到有新增数据记录插入hive数据表的情况下,更新data文件;在data文件存在大于1的值的情况下,发出用于提醒数据重复的第一报警消息。
技术领域
本发明涉及计算机技术领域,尤其涉及一种检测hive数据表的方法和装置。
背景技术
在大数据时代下数据分析和数据应用已经是社会中很常见的一件事情了。数据分析和数据应用离不开大数据开发,现在大数据开发用的是hadoop架构,数据存储在分布式文件系统HDFS(Hadoop Distributed File System)上,日常的数据开发是通过hive将sql转换成MapReduce或者直接用MapReduce进行数据处理,与在关系型数据库上开发存在着很大的差异。Hive采用了sql的查询语句HQL,HQL与数据库sql最大的区别就是数据库sql支持数据更新,HQL却不支持,也就是HQL无法对数据进行update(更新)、delete(删除),只能通过insert(插入)变相实现update、delete。这个变相的实现过程容易导致数据出现异常,所以检测数据准确性是一项很重要的工作。数据准确性需要考虑以下几方面:数据唯一性;数据记录条数;数据值正确性。而如何快速高效检测出数据准确性是每个数据工程师都很关心的问题。
目前确定数据准确性常用的一种方法是通过编写HQL语句,根据HQL执行后返回的结果判断数据是否准确。关系型数据库可以通过自身特有的一些表属性可设置性,从另一个方面保证数据的准确性。
(1)数据唯一性
Hive无法创建主键,不能通过插入自动判断是否主键唯一来保证数据唯一性。只能编写HQL语句,结合sql语法中的group by和having用法,可以判断数据是否唯一。
(2)数据记录条数
编写HQL语句,用sql语法中的count进行数据条数汇总,主要用于判断新增数据条数是否为0,进而判断数据程序插入的数据为空。
(3)数据值正确性
编写HQL语句,用sql语法中的各种函数(比如count)结合日常的业务经验以及历史数据值的大小,综合判断当日新增数据值是否正确。
但是现有技术也具有一些缺点,具体体现在以下三个方面。
(1)效率低
现有技术主要就是通过HQL来实现,hive会将sql语句转换为MapReduce任务进行运行。MapReduce的优势在于处理复杂的大数据量的批量计算,对于简单的逻辑处理是没有优势比。MapReduce的执行框架是map-shuffle-reduce-map-shuffle-reduce…的模型,每次执行计算都需要花时间去计算sql会产生多少个map数,如果一个sql查询被编译成多轮的MapReduce,则会有很多中间结果,需要经过多轮先计算map数再执行计算。而数据准确性检测其实是一个简单逻辑sql处理,用MapReduce处理依然要先计算该sql会产生多少个map数,然后再进行真正意义上的计算,这样多花费时间再计算map数效率就很低了。
(2)存在滞后
现在这种通过hive sql的方式判断数据准确性都是等到数据程序执行完成,结果已经插入目标表以后才能进行判断,属于事后性监控,相当于错误已经发生了才知道已经错了,不能在程序的执行过程中实时监控反馈信息。
(3)数据文件导致的错误无法定位
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710352699.1/2.html,转载请声明来源钻瓜专利网。