CN111966707A - 查询语句生成方法、装置、电子设备和计算机可读介质 - Google Patents
查询语句生成方法、装置、电子设备和计算机可读介质 Download PDFInfo
- Publication number
- CN111966707A CN111966707A CN202010852477.8A CN202010852477A CN111966707A CN 111966707 A CN111966707 A CN 111966707A CN 202010852477 A CN202010852477 A CN 202010852477A CN 111966707 A CN111966707 A CN 111966707A
- Authority
- CN
- China
- Prior art keywords
- target
- field
- data
- configuration file
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种查询语句生成方法、装置、电子设备和计算机可读介质,属于语句生成技术领域,该方法包括:获取比较符、目标数据的目标配置文件以及参照数据的参照配置文件;确定所述目标字段列表中的目标字段与所述参照字段列表中位置与所述目标字段相同的参照字段之间的字段对应关系,并通过预设转换条件,将所述比较符转换为比较函数;通过所述字段对应关系,根据所述比较函数、所述目标配置文件和所述参照配置文件生成查询语句。本申请通过配置信息自动生成查询语句,提高效率。
Description
技术领域
本申请涉及语句生成技术领域,尤其涉及一种查询语句生成方法、装置、电子设备和计算机可读介质。
背景技术
数据仓库作为产出分析性报告和为企业决策提供支持的角色被各大企业广泛的使用,目前在构建数据仓库的过程性需要执行ETL(Extract-Transform-Load)步骤,即将数据从来源端经过抽取、转换、加载至目的端。
技术人员在编写ETL程序后,需要针对具体数据编写HiveQL查询语句,以测试执行ETL后的数据是否与原数据一致,从而确定ETL程序是否存在问题。由于每次编写ETL程序后,都需要针对具体数据人工编写HiveQL查询语句,造成效率低下。
发明内容
本申请实施例的目的在于提供一种查询语句生成方法、装置、电子设备和计算机可读介质,以解决人工效率低的问题。具体技术方案如下:
第一方面,本申请提供了一种查询语句生成方法,所述方法包括:
获取比较符、目标数据的目标配置文件以及参照数据的参照配置文件,其中,所述目标配置文件包括目标字段列表和目标配置信息,所述参照配置文件包括参照字段列表和参照配置信息;
确定所述目标字段列表中的目标字段与所述参照字段列表中位置与所述目标字段相同的参照字段之间的字段对应关系,并通过预设转换条件,将所述比较符转换为比较函数;
通过所述字段对应关系,根据所述比较函数、所述目标配置文件和所述参照配置文件生成查询语句。
可选地,所述通过所述字段对应关系,根据所述比较函数、所述目标配置文件和所述参照配置文件生成查询语句包括:
通过所述字段对应关系、数据标识与所述数据标识在预设模板中位置的第一映射关系以及所述数据标识和数据的第二映射关系,分别将所述比较函数、所述目标配置文件中的数据和所述参照配置文件中的数据填入所述预设模板中的对应位置,生成查询语句。
可选地,所述目标配置信息包括目标数据库、目标数据表和目标主键,所述参照配置信息包括参照数据库、参照数据表和参照主键;所述通过所述字段对应关系、数据标识与所述数据标识在预设模板中位置的第一映射关系以及所述数据标识和数据的第二映射关系,分别将所述比较函数、所述目标配置文件中的数据和所述参照配置文件中的数据填入所述预设模板中的对应位置包括:
根据所述第一映射关系,确定所述目标数据库的标识、所述目标数据表的标识、所述参照数据库的标识和所述参照数据表的标识在所述预设模板中的字段来源位置,根据所述第二映射关系,分别将所述目标数据库、所述目标数据表、所述参照数据库和所述参照数据表填入所述字段来源位置;
根据所述字段对应关系和所述字段来源位置,确定所述目标字段和所述参照字段在所述预设模板中的字段位置,将所述目标字段和所述参照字段填入所述字段位置;
根据所述第一映射关系,确定所述目标主键的标识和所述参照主键的标识在所述预设模板中的主键位置,根据所述第二映射关系,将所述目标主键和所述参照主键填入所述主键位置;
根据所述第一映射关系,确定所述比较函数的标识在所述预设模板中的数据比较位置,根据所述第二映射关系,将所述比较函数填入所述数据比较位置。
可选地,所述目标字段和所述参照字段均包括多个字段数据;所述生成查询语句之后,所述方法还包括:
通过所述目标主键与所述参照主键连接所述目标数据表和所述参照数据表;
按照如下方式遍历所述目标字段和所述参照字段:获取所述目标数据表中目标字段的目标字段数据,和所述参照数据表中参照字段的参照字段数据,在所述目标字段数据与所述参照字段数据不满足预设条件的情况下,将记录的表示不满足所述预设条件的异常参数的值加1;
输出所述异常参数的值。
可选地,所述目标主键和所述参照主键均包括多个子键;所述获取所述目标数据表中目标字段的目标字段数据,和所述参照数据表中参照字段的参照字段数据包括:
确定所述目标主键的目标子键和所述参照主键中的参照子键,其中,所述目标子键与所述参照子键具有键对应关系;
确定所述目标字段中与所述目标子键对应的目标字段数据,和所述参照字段中与所述参照子键对应的参照字段数据。
可选地,所述方法还包括:
获取所述目标字段列表中的所有字段数据的第一数量和所述参照字段列表中的所有字段数据的第二数量;
以所述第一数量与所述第二数量的加和作为总数量,并输出所述总数量。
第二方面,本申请提供了一种查询语句生成装置,所述装置包括:
获取模块,用于获取比较符、目标数据的目标配置文件以及参照数据的参照配置文件,其中,所述目标配置文件包括目标字段列表和目标配置信息,所述参照配置文件包括参照字段列表和参照配置信息;
确定模块,用于确定所述目标字段列表中的目标字段与所述参照字段列表中位置与所述目标字段相同的参照字段之间的字段对应关系,并通过预设转换条件,将所述比较符转换为比较函数;
生成模块,用于通过所述字段对应关系,根据所述比较函数、所述目标配置文件和所述参照配置文件生成查询语句。
可选地,所述生成模块包括:
填入单元,用于通过所述字段对应关系、数据标识与所述数据标识在预设模板中位置的第一映射关系以及所述数据标识和数据的第二映射关系,分别将所述比较函数、所述目标配置文件中的数据和所述参照配置文件中的数据填入所述预设模板中的对应位置,生成查询语句。
第三方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现任一所述的方法步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的方法步骤。
本申请实施例有益效果:
本申请实施例提供了一种查询语句生成方法,方法包括:处理器获取比较符、目标数据的目标配置文件以及参照数据的参照配置文件,确定目标字段列表中的目标字段与参照字段列表中位置与目标字段相同的参照字段之间的字段对应关系,并通过预设转换条件,将比较符转换为比较函数,然后通过字段对应关系,根据比较函数、目标配置文件和参照配置文件生成查询语句。本申请通过配置信息自动生成查询语句,无需人工编写查询查询语句,提高效率。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种查询语句生成的方法流程图;
图2为本申请实施例提供的将数据填入预设模板的方法流程图;
图3为本申请实施例提供的获取目标字段数据和参照字段数据的方法流程图;
图4为本申请实施例提供的一种查询语句生成装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供了一种查询语句生成方法,可以应用于处理器,用于自动将配置数据生成查询语句。
下面将结合具体实施方式,对本申请实施例提供的一种查询语句生成方法进行详细的说明,如图1所示,具体步骤如下:
步骤101:获取比较符、目标数据的目标配置文件以及参照数据的参照配置文件。
其中,目标配置文件包括目标字段列表和目标配置信息,参照配置文件包括参照字段列表和参照配置信息。
在本申请实施例中,数据在执行ELT程序前后可能发生变化,因此,处理器获取执行ELT程序前后的数据的配置信息,包括比较符、执行ELT程序前的参照数据的参照配置文件以及执行ELT程序后的目标数据的目标配置文件。其中,配置信息可以为json(json_encode,对变量进行JSON编码)格式,本申请实施例对配置文件的具体格式不做限制。
参照配置信息包括参照数据库、参照数据表和参照主键,目标配置信息包括目标数据库、目标数据表和目标主键。每个数据都有对应的数据标识,其中,参照数据库的标识为参照数据所在的数据库的标识,每个数据库中包含多个数据表,参照数据表的标识为参照数据所在的数据表的标识,目标数据库的标识为目标数据所在的数据库的标识,每个数据库中包含多个数据表,目标数据表的标识为目标数据所在的数据表的标识。参照主键为参照数据表的字段主键,目标主键为目标数据表的字段主键。比较符为用于比较的符号,包括:“=”、“<”、“>”、“≤”、“≥”。
在本申请实施例中,比较符、目标配置文件和参照配置文件可以是人工配置的,也可以是处理器通过数据自动配置的,本申请对配置信息的来源不做具体限定。
步骤102:确定目标字段列表中的目标字段与参照字段列表中位置与目标字段相同的参照字段之间的字段对应关系,并通过预设转换条件,将比较符转换为比较函数。
在本申请实施例中,目标字段列表中包括多个字段,参照字段列表中包括多个字段,处理器要建立目标字段和参照字段之间的字段对应关系,包括两种方式:
方式一:处理器确定目标列表中位于预设位置的目标字段,和参照列表中位于相同预设位置的参照字段,并建立目标字段与参照字段之间的字段对应关系。
方式二:处理器先建立多个字段对应关系,其中,字段对应关系中包含字段存在于字段列表中的位置,然后处理器将位于目标字段列表中相应位置的目标字段和参照字段列表中位于相应位置的参照字段填入该字段对应关系。
处理器还通过预设转换条件,将比较符转换为比较函数。其中,预设转换条件为比较符符号与比较函数之间的对应关系。比较函数可以为UDF((User-Defined Functions,用户自定义函数)。
示例性地,比较符“=”转换为比较函数“is_equal”;比较符“>”转换为比较函数“is_more_than”。
步骤103:通过字段对应关系,根据比较函数、目标配置文件、参照配置文件生成查询语句。
在本申请实施例中,处理器在确定字段对应关系后,根据比较函数、目标配置文件、参照配置文件生成查询语句。
示例性地,查询语句可以为HiveQL语句,也可以为SQL(Structured QueryLanguage,结构化查询语言)语句。
作为一种可选的实施方式,处理器通过字段对应关系、数据标识与数据标识在预设模板中位置的第一映射关系以及数据标识和数据的第二映射关系,分别将比较函数、目标配置文件中的数据和参照配置文件中的数据填入预设模板中的对应位置,生成查询语句。
在本申请实施例中,处理器自动根据配置信息生成查询语句,无需人工编写查询语句,减少人工操作,提高生产效率。
作为一种可选的实施方式,如图2所示,处理器通过字段对应关系、数据标识与数据标识在预设模板中位置的第一映射关系以及数据标识和数据的第二映射关系,分别将比较函数、目标配置文件中的数据和参照配置文件中的数据填入预设模板中的对应位置的过程为:
步骤201:根据第一映射关系,确定目标数据库的标识、目标数据表的标识、参照数据库的标识和参照数据表的标识在预设模板中的字段来源位置,根据第二映射关系,分别将目标数据库、目标数据表、参照数据库和参照数据表填入字段来源位置。
处理器可以根据数据标识与数据标识在预设模板中位置的第一映射关系,确定目标数据库的标识、目标数据表的标识、参照数据库的标识和参照数据表的标识在预设模板中的字段来源位置。处理器在确定字段来源位置后,根据数据标识和数据的第二映射关系,分别将目标数据库、目标数据表、参照数据库和参照数据表填入字段来源位置。
在本申请实施例中,数据库、数据表、字段列表和比较符均具有标识。编程1为配置信息的示意编程,从编程1中可以看出,目标配置文件包括目标数据库“test_db1”,目标数据表“test_table1”,目标字段列表“a、b”,目标主键“id1”,其中,目标数据库的标识为“db1”,目标数据表的标识为“table1”,目标字段列表的标识为“fields1”,目标主键的标识为“key1”。参照配置文件包括参照数据库“test_db2”,参照数据表“test_table2”,参照字段列表“x、y”,参照主键“id2”,其中,参照数据库的标识为“db2”,参照数据表的标识为“table2”,参照字段列表的标识为“fields2”,参照主键的标识为“key2”。比较符为“=”,比较符的标识为“comparator”。
编程1
编程2为查询语句的示意编程,从编程2中可以看出,目标数据库的标识为“db1”,目标数据表的标识为“table1”,处理器根据“db1”和“table1”将目标数据库的数据和目标数据表的数据“test_db1.test_table1”填入预设模板中的字段来源位置;参照数据库的标识为“db2”,参照数据表的标识为“table2”,处理器根据“db2”和“table2”将参照数据库的数据和参照数据表的数据“test_db2.test_table2”填入预设模板中的字段来源位置。
编程2
步骤202:根据字段对应关系和字段来源位置,确定目标字段和参照字段在预设模板中的字段位置,将目标字段和参照字段填入字段位置。
在本申请实施例中,目标字段来源于目标数据库中的目标数据表,处理器根据目标数据库与目标数据表确定目标字段的目标字段来源,参照字段来源于参照数据库中的参照数据表,处理器根据参照数据库与参照数据表确定参照字段的参照字段来源。
处理器根据目标字段来源确定目标字段在预设模板中的第一位置,根据参照字段来源确定参照字段在预设模板中的第二位置,然后根据字段对应关系关联第一位置和第二位置,最终确定目标字段和参照字段在预设模板中的字段位置,处理器将目标字段和参照字段分别填入字段位置。
示例性地,从编程2中可以看出,“test_db1.test_table1”相当于“t1”,目标字段“x”的目标字段来源为“t1”,“test_db2.test_table2”相当于“t2”,参照字段“y”的参照字段来源为“t2”,目标字段“x”和参照字段“y”之间具有字段对应关系,因此,可以将目标字段“x”和参照字段“y”填入字段位置,形成(t1.a,t2.x)。
步骤203:根据第一映射关系,确定目标主键的标识和参照主键的标识在预设模板中的主键位置,根据第二映射关系,将目标主键和参照主键填入主键位置。
在本申请实施例中,处理器可以根据数据标识与数据标识在预设模板中位置的第一映射关系,确定目标主键的标识和参照主键的标识在预设模板中的主键位置,然后根据第二映射关系,将目标主键的标识对应的目标主键和参照主键的标识对应的参照主键填入主键位置。
示例性地,从编程1中可以看出,目标主键的标识为“key1”,参照主键的标识为“key2”,在编程2中,处理器根据“key1”将“id1”填入主键位置,根据“key2”将“id2”填入主键位置。
步骤204:根据第一映射关系,确定比较函数的标识在预设模板中的数据比较位置,根据第二映射关系,将比较函数填入数据比较位置。
在本申请实施例中,比较函数和比较符的标识是相同的,处理器可以根据数据标识与数据标识在预设模板中位置的第一映射关系,确定比较函数的标识在预设模板中的数据比较位置,然后根据第二映射关系,将比较函数填入数据比较位置。
示例性地,从编程2中可以看出,处理器根据比较函数的标识“comparator”将比较函数“is_equal”填入数据比较位置。
其中,步骤201至204中的过程可以并列执行,也可以按顺序执行,本申请不作具体限制。
处理器将比较函数、目标配置文件中的数据和参照配置文件中的数据填入预设模板中的对应位置后,生成查询语句。
作为一种可选的实施方法,生成查询语句之后,上述方法还包括:通过目标主键与参照主键连接目标数据表和参照数据表;按照如下方式遍历目标字段和参照字段:获取目标数据表中目标字段的目标字段数据,和参照数据表中参照字段的参照字段数据,在目标字段数据与参照字段数据不满足预设条件的情况下,将记录的表示不满足预设条件的异常参数的值加1;输出异常参数的值。
在本申请实施例中,目标数据表具有对应的目标主键,参照数据表具有对应的参照主键,处理器通过目标主键与参照主键连接目标数据表和参照数据表。目标字段包括多个字段数据,参照字段包括多个字段数据。
处理器按照如下方式遍历目标字段和参照字段:处理器获取目标数据表中目标字段的目标字段数据和参照数据表中参照字段的参照字段数据,并判断目标字段数据与参照字段数据是否满足预设条件,其中预设条件为比较大小条件。若处理器判定目标字段数据与参照字段数据满足预设条件,则将记录的表示不满足预设条件的异常参数的值加0;若处理器判定目标字段数据与参照字段数据不满足预设条件,则将记录的表示不满足预设条件的异常参数的值加1,处理器遍历完目标字段和参照字段后,输出异常参数的值。
在本申请实施例中,预设函数为is_equal,在执行ETL程序前后,如果ETL程序没有故障,那么目标字段中处于目标位置的目标字段数据与参照字段中处于同样位置的目标字段数据是相同的。若处理器判定目标字段数据与参照字段数据不相同,则异常参数为目标字段数据与参照字段数据不相同的值。处理器将记录的表示不相同的异常参数的值加1,并输出异常参数的值。
表一
total_count | a_x_count |
10000 | 122 |
如表一所示,表一为字段对比结果示意图,“a_x_count”表示目标字段a和参照字段x中,目标字段数据与参照字段数据不相同的异常参数的数量。a_x_count为122,表示目标字段a和参照字段x中异常参数的数量为122。
作为一种可选的实施例,该方法还包括:获取目标字段列表中的所有字段数据的第一数量和参照字段列表中的所有字段数据的第二数量;以第一数量与第二数量的加和作为总数量,并输出总数量。
处理器获取目标字段列表中的全部字段的字段数据,并确定目标字段列表中的全部字段数据的数量为第一数量,处理器获取参照字段列表中的全部字段的字段数据,并确定参照字段列表中的全部字段数据的数量为第二数量,处理器以第一数量与第二数量的加和作为所有字段数据的总数量,并输出总数量。设置总数量和异常参数的值,可以推测异常参数在总数量中的占比,从而确定ETL程序的准确率。其中,异常参数在总数量中的占比与总数量成反比,异常参数在总数量中的占比越高,ETL程序的准确率越低。
作为一种可选的实施例,若处理器判定目标字段数据与参照字段数据不满足预设条件,则将记录的表示满足预设条件的正常参数的值加0;若处理器判定目标字段数据与参照字段数据满足预设条件,则将记录的表示满足预设条件的正常参数的值加1,并输出正常参数的值。
作为一种可选的实施例,如图3所示,获取目标数据表中目标字段的目标字段数据,和参照数据表中参照字段的参照字段数据包括:
步骤301:确定目标主键的目标子键和参照主键中的参照子键。
其中,目标子键与参照子键具有键对应关系。
在本申请实施例中,目标主键和参照主键均包括多个子键,处理器确定目标主键的目标子键和参照主键中的参照子键,目标子键与参照子键具有键对应关系。
表二
id1 | a |
1 | Test_a |
2 | Test_c |
如表二所示,表二为目标数据表的示意图,表二中包括两个子健“id1-1”、“id1-2”,字段a包括字段数据“Test_a”、“Test_c”。
表三
id2 | x |
1 | Test_a |
2 | Test_c |
如表三所示,表三为参照数据表的示意图,表三中包括两个子健“id2-1”、“id2-2”,字段x包括字段数据“Test_a”、“Test_c”。
处理器确定目标子键“id1-1”和参照子键“id2-1”。
步骤302:确定目标字段中与目标子键对应的目标字段数据,和参照字段中与参照子键对应的参照字段数据。
在本申请实施例中,处理器确定与目标子健对应的目标字段中的目标字段数据,和与参照子键对应的参照字段中的参照字段数据。
示例性地,与目标子键“id1-1”对应的目标字段中的目标字段数据为“Test_a”,与参照子键“id2-1”对应的参照字段中的参照字段数据为“Test_a”。
基于相同的技术构思,本申请实施例还提供了一种查询语句生成装置,如图4所示,该装置包括:
获取模块401,用于获取比较符、目标数据的目标配置文件以及参照数据的参照配置文件,其中,目标配置文件包括目标字段列表和目标配置信息,参照配置文件包括参照字段列表和参照配置信息;
确定模块402,用于确定目标字段列表中的目标字段与参照字段列表中位置与目标字段相同的参照字段之间的字段对应关系,并通过预设转换条件,将比较符转换为比较函数;
生成模块403,用于通过字段对应关系,根据比较函数、目标配置文件和参照配置文件生成查询语句。
可选地,生成模块403包括:
填入单元,用于通过字段对应关系、数据标识与数据标识在预设模板中位置的第一映射关系以及数据标识和数据的第二映射关系,分别将比较函数、目标配置文件中的数据和参照配置文件中的数据填入预设模板中的对应位置,生成查询语句。
可选地,目标配置信息包括目标数据库、目标数据表和目标主键,参照配置信息包括参照数据库、参照数据表和参照主键;填入单元包括:
第一填入子单元,用于根据第一映射关系,确定目标数据库的标识、目标数据表的标识、参照数据库的标识和参照数据表的标识在预设模板中的字段来源位置,根据第二映射关系,分别将目标数据库、目标数据表、参照数据库和参照数据表填入字段来源位置;
第二填入子单元,用于根据字段对应关系和字段来源位置,确定目标字段和参照字段在预设模板中的字段位置,将目标字段和参照字段填入字段位置;
第三填入子单元,用于根据第一映射关系,确定目标主键的标识和参照主键的标识在预设模板中的主键位置,根据第二映射关系,将目标主键和参照主键填入主键位置;
第四填入子单元,用于根据第一映射关系,确定比较函数的标识在预设模板中的数据比较位置,根据第二映射关系,将比较函数填入数据比较位置。
可选地,目标字段和参照字段均包括多个字段数据;装置还包括:
连接模块,用于通过目标主键与参照主键连接目标数据表和参照数据表;
遍历模块,用于按照如下方式遍历目标字段和参照字段:获取目标数据表中目标字段的目标字段数据,和参照数据表中参照字段的参照字段数据,在目标字段数据与参照字段数据不满足预设条件的情况下,将记录的表示不满足预设条件的异常参数的值加1;
第一输出模块,用于输出异常参数的值。
可选地,目标主键和参照主键均包括多个子键;遍历模块包括:
第一确定子单元,用于确定目标主键的目标子键和参照主键中的参照子键,其中,目标子键与参照子键具有键对应关系;
第二确定子单元,用于确定目标字段中与目标子键对应的目标字段数据,和参照字段中与参照子键对应的参照字段数据。
可选地,装置还包括:
获取模块,用于获取目标字段列表中的所有字段数据的第一数量和参照字段列表中的所有字段数据的第二数量;
第二输出模块,用于以第一数量与第二数量的加和作为总数量,并输出总数量。
本申请实施例提供了一种查询语句生成方法,方法包括:处理器获取比较符、目标数据的目标配置文件以及参照数据的参照配置文件,确定目标字段列表中的目标字段与参照字段列表中位置与目标字段相同的参照字段之间的字段对应关系,并通过预设转换条件,将比较符转换为比较函数,然后通过字段对应关系,根据比较函数、目标配置文件和参照配置文件生成查询语句。本申请通过配置信息自动生成查询语句,无需人工编写查询语句,提高效率。
基于相同的技术构思,本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现上述步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种查询语句生成方法,其特征在于,所述方法包括:
获取比较符、目标数据的目标配置文件以及参照数据的参照配置文件,其中,所述目标配置文件包括目标字段列表和目标配置信息,所述参照配置文件包括参照字段列表和参照配置信息;
确定所述目标字段列表中的目标字段与所述参照字段列表中位置与所述目标字段相同的参照字段之间的字段对应关系,并通过预设转换条件,将所述比较符转换为比较函数;
通过所述字段对应关系,根据所述比较函数、所述目标配置文件和所述参照配置文件生成查询语句。
2.根据权利要求1所述的方法,其特征在于,所述通过所述字段对应关系,根据所述比较函数、所述目标配置文件和所述参照配置文件生成查询语句包括:
通过所述字段对应关系、数据标识与所述数据标识在预设模板中位置的第一映射关系以及所述数据标识和数据的第二映射关系,分别将所述比较函数、所述目标配置文件中的数据和所述参照配置文件中的数据填入所述预设模板中的对应位置,生成查询语句。
3.根据权利要求2所述的方法,其特征在于,所述目标配置信息包括目标数据库、目标数据表和目标主键,所述参照配置信息包括参照数据库、参照数据表和参照主键;所述通过所述字段对应关系、数据标识与所述数据标识在预设模板中位置的第一映射关系以及所述数据标识和数据的第二映射关系,分别将所述比较函数、所述目标配置文件中的数据和所述参照配置文件中的数据填入所述预设模板中的对应位置包括:
根据所述第一映射关系,确定所述目标数据库的标识、所述目标数据表的标识、所述参照数据库的标识和所述参照数据表的标识在所述预设模板中的字段来源位置,根据所述第二映射关系,分别将所述目标数据库、所述目标数据表、所述参照数据库和所述参照数据表填入所述字段来源位置;
根据所述字段对应关系和所述字段来源位置,确定所述目标字段和所述参照字段在所述预设模板中的字段位置,将所述目标字段和所述参照字段填入所述字段位置;
根据所述第一映射关系,确定所述目标主键的标识和所述参照主键的标识在所述预设模板中的主键位置,根据所述第二映射关系,将所述目标主键和所述参照主键填入所述主键位置;
根据所述第一映射关系,确定所述比较函数的标识在所述预设模板中的数据比较位置,根据所述第二映射关系,将所述比较函数填入所述数据比较位置。
4.根据权利要求3所述的方法,其特征在于,所述目标字段和所述参照字段均包括多个字段数据;所述生成查询语句之后,所述方法还包括:
通过所述目标主键与所述参照主键连接所述目标数据表和所述参照数据表;
按照如下方式遍历所述目标字段和所述参照字段:获取所述目标数据表中目标字段的目标字段数据,和所述参照数据表中参照字段的参照字段数据,在所述目标字段数据与所述参照字段数据不满足预设条件的情况下,将记录的表示不满足所述预设条件的异常参数的值加1;
输出所述异常参数的值。
5.根据权利要求4所述的方法,其特征在于,所述目标主键和所述参照主键均包括多个子键;所述获取所述目标数据表中目标字段的目标字段数据,和所述参照数据表中参照字段的参照字段数据包括:
确定所述目标主键的目标子键和所述参照主键中的参照子键,其中,所述目标子键与所述参照子键具有键对应关系;
确定所述目标字段中与所述目标子键对应的目标字段数据,和所述参照字段中与所述参照子键对应的参照字段数据。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
获取所述目标字段列表中的所有字段数据的第一数量和所述参照字段列表中的所有字段数据的第二数量;
以所述第一数量与所述第二数量的加和作为总数量,并输出所述总数量。
7.一种查询语句生成装置,其特征在于,所述装置包括:
获取模块,用于获取比较符、目标数据的目标配置文件以及参照数据的参照配置文件,其中,所述目标配置文件包括目标字段列表和目标配置信息,所述参照配置文件包括参照字段列表和参照配置信息;
确定模块,用于确定所述目标字段列表中的目标字段与所述参照字段列表中位置与所述目标字段相同的参照字段之间的字段对应关系,并通过预设转换条件,将所述比较符转换为比较函数;
生成模块,用于通过所述字段对应关系,根据所述比较函数、所述目标配置文件和所述参照配置文件生成查询语句。
8.根据权利要求7所述的装置,其特征在于,所述生成模块包括:
填入单元,用于通过所述字段对应关系、数据标识与所述数据标识在预设模板中位置的第一映射关系以及所述数据标识和数据的第二映射关系,分别将所述比较函数、所述目标配置文件中的数据和所述参照配置文件中的数据填入所述预设模板中的对应位置,生成查询语句。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010852477.8A CN111966707A (zh) | 2020-08-21 | 2020-08-21 | 查询语句生成方法、装置、电子设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010852477.8A CN111966707A (zh) | 2020-08-21 | 2020-08-21 | 查询语句生成方法、装置、电子设备和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111966707A true CN111966707A (zh) | 2020-11-20 |
Family
ID=73391149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010852477.8A Pending CN111966707A (zh) | 2020-08-21 | 2020-08-21 | 查询语句生成方法、装置、电子设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966707A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190218A (zh) * | 2021-04-28 | 2021-07-30 | 中国邮政储蓄银行股份有限公司 | 目标操作函数的生成方法和装置 |
CN113836212A (zh) * | 2021-09-27 | 2021-12-24 | 易保网络技术(上海)有限公司 | 数据库数据自动生成Json数据的方法、可读介质和电子设备 |
CN114661751A (zh) * | 2022-03-22 | 2022-06-24 | 医渡云(北京)技术有限公司 | 基于sql知识库的数据生产方法、装置、***、设备及介质 |
-
2020
- 2020-08-21 CN CN202010852477.8A patent/CN111966707A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190218A (zh) * | 2021-04-28 | 2021-07-30 | 中国邮政储蓄银行股份有限公司 | 目标操作函数的生成方法和装置 |
CN113836212A (zh) * | 2021-09-27 | 2021-12-24 | 易保网络技术(上海)有限公司 | 数据库数据自动生成Json数据的方法、可读介质和电子设备 |
CN113836212B (zh) * | 2021-09-27 | 2023-09-08 | 易保网络技术(上海)有限公司 | 数据库数据自动生成Json数据的方法、可读介质和电子设备 |
CN114661751A (zh) * | 2022-03-22 | 2022-06-24 | 医渡云(北京)技术有限公司 | 基于sql知识库的数据生产方法、装置、***、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966707A (zh) | 查询语句生成方法、装置、电子设备和计算机可读介质 | |
CN107798038B (zh) | 数据响应方法及数据响应设备 | |
US20070276970A1 (en) | Data Consistency Validation | |
CN112328631A (zh) | 一种生产故障分析方法、装置、电子设备及存储介质 | |
CN116719799A (zh) | 环保数据治理方法、装置、计算机设备和存储介质 | |
CN111949550A (zh) | 自动生成测试数据的方法、装置、设备及存储介质 | |
CN109947797B (zh) | 一种数据检查装置及方法 | |
CN111401023B (zh) | 一种报表生成方法、装置、服务器及存储介质 | |
CN112416904A (zh) | 电力数据规范化处理方法及装置 | |
CN108196921B (zh) | 单据开发方法、装置、计算机设备和存储介质 | |
CN112596703B (zh) | 需求向开发传承的实现方法、***及存储介质 | |
CN114860759A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN113934729A (zh) | 一种基于知识图谱的数据管理方法、相关设备及介质 | |
CN112612924A (zh) | 一种数据读取、导出方法、装置、电子设备及存储介质 | |
CN115617773A (zh) | 数据迁移的方法、装置和*** | |
CN112287027A (zh) | 数据库同步方法、装置、设备及存储介质 | |
CN112445918A (zh) | 一种知识图谱生成方法、装置、电子设备及存储介质 | |
CN116010349B (zh) | 基于元数据的数据检核方法和装置、电子设备和存储介质 | |
CN100365626C (zh) | 一种数据库优化方法 | |
CN109344369B (zh) | 基于原值校验的凭证制作方法及终端设备 | |
CN116244276A (zh) | 一种模型处理方法、装置、电子设备及可读存储介质 | |
CN116880927A (zh) | 规则管理方法、装置、计算机设备和存储介质 | |
CN115658694A (zh) | 一种数据库表的生成***、方法及装置 | |
CN117827832A (zh) | 数据核验方法、装置、计算机设备和存储介质 | |
CN116680280A (zh) | 数据校验方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |