计算引擎运行结果对比方法、装置、设备及存储介质制造方法及图纸

技术编号:39036903 阅读:19 留言:0更新日期:2023-10-10 11:50
本申请提供一种计算引擎运行结果对比方法、装置、设备及存储介质,可用于数据处理领域。本方法包括:获取待计算的目标SQL语句;采用第一计算引擎及第二计算引擎分别运行待计算的目标SQL语句,并获取第一计算引擎对应的第一运行结果表及第二计算引擎对应的第二运行结果表;第一运行结果表及第二运行结果表中包括:主键列及数据列;采用预设列特征值计算算法基于主键列计算第一运行结果表及第二运行结果表中各数据列的列特征值;若确定第一运行结果表及第二运行结果表中数据列标识相同对应数据列的列特征值均相同,则确定第一计算引擎及第二计算引擎对目标SQL语句的运行结果一致;避免了内存溢出并提高了数据对比效率。避免了内存溢出并提高了数据对比效率。避免了内存溢出并提高了数据对比效率。

【技术实现步骤摘要】
计算引擎运行结果对比方法、装置、设备及存储介质


[0001]本申请涉及数据处理领域,尤其涉及一种计算引擎运行结果对比方法、装置、设备及存储介质。

技术介绍

[0002]随着SQL计算引擎的发展,不仅有性能更快、功能点更丰富的同一计算引擎的新版本迭代,而且有全新的计算引擎诞生。在生产环境里,用户有一些存量SQL作业使用老的SQL计算引擎运行,用户想要变更到新的SQL计算引擎,来获得更快的计算速度。但是,由于不同的计算引擎在某些数据逻辑的处理上有变动,会导致某些作业在新的计算引擎的逻辑执行结果和旧的不一致,用户希望对这些结果不一致的作业不变更计算引擎,因此需要确定同一个SQL作业在不同计算引擎的逻辑执行结果是否一致。
[0003]目前通常用新旧两个不同的计算引擎运行同一个SQL作业,并生成两个结果表;然后将两个结果表的数据都读到内存中,再按照主键排序两个结果表;最后对于某个数据列,分别逐行比较数据的一致性。按照主键排序两个结果表的计算量较大,并且在一个结果表的数据大小可能会大于一台机器的内存,将两个结果表的数据都读到内存中时可能导致内存溢出本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种计算引擎运行结果对比方法,其特征在于,包括:获取待计算的目标SQL语句;采用第一计算引擎及第二计算引擎分别运行待计算的目标SQL语句,并获取第一计算引擎对应的第一运行结果表及第二计算引擎对应的第二运行结果表;所述第一运行结果表及第二运行结果表中包括:主键列及数据列;采用预设列特征值计算算法基于主键列计算第一运行结果表及第二运行结果表中各数据列的列特征值;若确定第一运行结果表及第二运行结果表中数据列标识相同对应数据列的列特征值均相同,则确定第一计算引擎及第二计算引擎对目标SQL语句的运行结果一致。2.根据权利要求1所述的方法,其特征在于,所述采用预设列特征值计算算法基于主键列计算第一运行结果表及第二运行结果表中各数据列的列特征值,包括:启用两个线程并行地采用预设列特征值计算算法基于主键列计算第一运行结果表及第二运行结果表中各数据列的列特征值。3.根据权利要求1所述的方法,其特征在于,所述采用预设列特征值计算算法基于主键列计算第一运行结果表及第二运行结果表中各数据列的列特征值,包括:读取第一运行结果表及第二运行结果表的表结构,以获取第一运行结果表及第二运行结果表的主键列及数据列的列标识;按数据列的列标识依次采用预设列特征值计算算法基于主键列计算第一运行结果表及第二运行结果表中各数据列的列特征值。4.根据权利要求3所述的方法,其特征在于,所述按数据列的列标识依次采用预设列特征值计算算法基于主键列计算第一运行结果表及第二运行结果表中各数据列的列特征值,包括:采用行特征值计算公式计算某数据列的列标识对应各行数据的行特征值;对该数据列的列标识对应各行数据的行特征值进行累加,以获取该数据列的列特征值;所述行特征值计算公式为:RF=Hash(Concat(ToStr(id),ToStr(data)))其中,RF表示该表某个数据列在某一行的行特征值,id表示该行对应的主键列的值,data表示这一行的这个数据列的值,ToStr为把某个数据类型的值转换成字符串类型的值的函数,Concat为把两个字符串连接成一个字符串的函数,Hash为把字符串映射成32位整数的函数。5.根据权利要求4所述的方法,其特征在于,所述采用行特征值计算公式计算某数据列的列标识对应各行数据的行特征值,对该数据列的列标识对应各行数据的行特征值进行累加,以获取该数据列的列特征值,包括:按序计算某数据列的列标识对应第一行数据的行特征值及第二行数据的行特征值;对第一行数据的行特征值及第...

【专利技术属性】
技术研发人员:李潇陈杰
申请(专利权)人:联通数字科技有限公司联通云数据有限公司
类型:发明
国别省市:

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

1