CN113760864A - 数据模型的生成方法和装置 - Google Patents
数据模型的生成方法和装置 Download PDFInfo
- Publication number
- CN113760864A CN113760864A CN202110430181.1A CN202110430181A CN113760864A CN 113760864 A CN113760864 A CN 113760864A CN 202110430181 A CN202110430181 A CN 202110430181A CN 113760864 A CN113760864 A CN 113760864A
- Authority
- CN
- China
- Prior art keywords
- index
- target
- sql statement
- indexes
- sql
- 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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
- G06F16/212—Schema design and management with details for data modelling support
-
- 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
- G06F16/2425—Iterative querying; Query formulation based on the results of a preceding query
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Abstract
本发明提供一种数据模型的生成方法和装置,从用户输入的第一SQL语句中提取目标指标和目标维度的特征字段,从全量特征库中确定目标指标的可替换指标,该全量特征库中存储有数据仓库中的SQL语句的指标和维度的特征字段,根据可替换指标和所述目标维度重组得到第二SQL语句,输出第二SQL语句。重组得到的第二SQL语句为第一SQL语句的可替换语句,能够满足用户的查询需求,该方法能够自动从已有SQL语句的特征字段提取本次加工所需要的维度和指标,利用已有的维度和指标重组SQL语句,完成数据模型的开发,提高了已有数据模型的利用率,避免重复开发造成的资源浪费。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种数据模型的生成方法和装置。
背景技术
数据仓库(data warehouse,简称DW)是为了研究和解决从数据库中获取信息的问题,数据仓库中的数据是对原有分散的数据库进行数据抽取、清理的基础上经过加工、汇总和整理得到的。数据仓库的数据主要供企业决策分析用,所涉及的数据操作主要是数据查询,数据进入数据仓库之后,会长期被保留,但修改和删除操作很少。
数据仓库中的数据通常以数据模型(也称为数据表)的形式存储,数据模型的建立是数据开发的难点和关键,现有技术中,通常由开发人员人工调研开发数据模型的指标和维度是否存在,根据调研结果进行一步通过人工写脚本进行开发。
但是,现有数据模型的开发效率低,重复开发带了数据大量冗余。
发明内容
本发明提供一种数据模型的生成方法和装置,提高了已有数据模型的利用率,避免重复开发造成的资源浪费。
第一方面,本发明提供一种数据模型的生成方法,包括:
从用户输入的第一结构化查询语言SQL语句中提取目标指标和目标维度的特征字段;
从全量特征库中确定所述目标指标的可替换指标,其中,所述全量特征库中存储有数据仓库中的SQL语句的指标和维度的特征字段,所述指标和维度的特征字段包括类型、全局唯一字段名称以及以下字段中的一个或者多个字段:字段名称、字段所在表、来源表路径、来源字段路径、过滤条件、计算逻辑;
根据所述可替换指标和所述目标维度重组得到第二SQL语句,输出所述第二SQL语句,所述第二SQL语句为所述第一SQL语句的可替换语句。
可选的,所述从全量特征库中确定所述目标指标的可替换指标,包括:
针对每个所述目标指标,获取所述目标指标的全局唯一名称字段;
从所述全量特征库中查询与所述目标指标的全局唯一名称字段相同的所有指标组成第一候选指标集合;
根据所述目标指标的来源表路径,从所述第一候选指标集合中确定与所述目标指标的来源表路径相同的指标,得到第二候选指标集合;
根据所述目标指标的来源字段路径,从所述第二候选指标集合中确定与所述目标指标的来源字段路径相同的指标,得到第三候选指标集合;
根据所述目标指标的计算逻辑,从所述第三候选指标集合中确定与所述目标指标的计算逻辑相同的指标,得到第四候选指标集合;
根据所述目标指标的过滤条件,从所述第四候选指标集合中确定与所述目标指标的过滤条件相同的指标,得到所述目标指标的可替换指标。
可选的,所述第一SQL语句中包括多个目标指标,所述根据所述可替换指标和所述目标维度重组得到第二SQL语句,包括:
当所述第一SQL语句中的多个目标指标的可替换指标的字段所在表均相同时,将所述第一SQL语句中的多个目标指标替换为可替换指标得到所述第二SQL语句。
可选的,所述第一SQL语句中包括多个目标指标,所述根据所述可替换指标和所述目标维度重组得到第二SQL语句,包括:
当所述第一SQL语句中的多个目标指标的可替换指标的字段所在表均不相同时,分别以每个可替换指标为主字段,与所述第一SQL语句中的所有维度字段内连接得到单一指标的临时表,将每个临时表插入SQL语句中得到第三SQL语句;
将得到的所有第三SQL语句进行内连接得到所述第二SQL语句。
可选的,所述第一SQL语句中包括多个目标指标,根据所述可替换指标和所述目标维度重组得到第二SQL语句,包括:
当所述第一SQL语句中的第一目标指标具有可替换指标,且第二目标指标不具有可替换指标时,分别以每个可替换指标为主字段,与所述第一SQL语句中的所有维度字段内连接得到单一指标的临时表,将每个临时表插入SQL语句中得到第三SQL语句;
将得到的所有第三SQL语句进行内连接得到第四SQL语句;
将所述第四SQL语句与所述第二目标指标构造得到第五SQL语句进行内连接,得到所述第二SQL语句。
可选的,所述方法还包括:
获取所述数据仓库中的所有数据模型的最新运行日志;
抽取所述运行日志中的SQL语句,清洗所述SQL语句中的干扰字符;
对清洗后的所述SQL语句进行特征提取;
将所述SQL语句提取到的特征存储到所述全量特征库中。
第二方面,本发明提供一种数据模型的生成装置,包括:
提取模块,用于从用户输入的第一结构化查询语言SQL语句中提取目标指标和目标维度的特征字段;
确定断模块,用于从全量特征库中确定所述目标指标的可替换指标,其中,所述全量特征库中存储有数据仓库中的SQL语句的指标和维度的特征字段,所述指标和维度的特征字段包括类型、全局唯一字段名称以及以下字段中的一个或者多个字段:字段名称、字段所在表、来源表路径、来源字段路径、过滤条件、计算逻辑;
重组模块,用于根据所述可替换指标和所述目标维度重组得到第二SQL语句,所述第二SQL语句为所述第一SQL语句的可替换语句;
输出模块,用于输出所述第二SQL语句。
第三方面,本发明提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如本发明第一方面所述的方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如本发明第一方面所述的方法。
第五方面,本发明提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如本发明第一方面所述的方法。
本发明实施例提供的数据模型的生成方法和装置,从用户输入的第一SQL语句中提取目标指标和目标维度的特征字段,从全量特征库中确定目标指标的可替换指标,该全量特征库中存储有数据仓库中的SQL语句的指标和维度的特征字段,根据可替换指标和所述目标维度重组得到第二SQL语句,输出第二SQL语句。重组得到的第二SQL语句为第一SQL语句的可替换语句,能够满足用户的查询需求,该方法能够自动从已有SQL语句的特征字段提取本次加工所需要的维度和指标,利用已有的维度和指标重组SQL语句,完成数据模型的开发,提高了已有数据模型的利用率,避免重复开发造成的资源浪费。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本发明实施例一提供的数据模型的生成方法的流程图;
图2为SQL语句解析的思维导图的一种示意图;
图3为本发明实施例二提供的可替换指标的匹配方法的流程图;
图4为本发明实施例三提供的数据模型的生成装置的结构示意图;
图5为本发明实施例四提供的电子设备的一种结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
指标与维度是数据分析中最常用到的术语,指标是用于衡量事物发展程度的单位或方法,例如:人口数、GDP、收入、用户数、利润率、留存率、覆盖率等。指标需要经过加和、平均等汇总计算方式得到,并且是需要在一定的前提条件进行汇总计算,如时间、地点、范围,也就是我们常说的统计口径与范围。
维度是事物或现象的某种特征,如性别、地区、时间等都是维度。其中时间是一种常用、特殊的维度,通过时间前后的对比,就可以知道事物的发展的好坏。
通常情况下,指标对应的数据大小有实际含义,而维度对应的数据大小没有实际含义,例如,指标为订单金额,订单金额的大小有实际意义,维度为订单编号,订单编号的大小无实际意义,只是用于区分不同订单。
目前,在对数据仓库进行数据开发时,需要开发人员主动调研开发指标和维度是否存在,人工因素会导致开发效率低且开发数据不准的问题,且重复开发带来数据大量冗余。
基于此本发明提供一种数据模型的生成方法,能够自动探查开发人员所需加工的指标和维度是否在其他数据模型中存在,如果存在,则从已有模型中提取所需要的维度和指标,从而提高了数据模型的利用率和开发效率,降低数据模型的存储成本。
图1为本发明实施例一提供的数据模型的生成方法的流程图,如图1所示,本实施例提供的方法包括以下步骤。
S101、从用户输入的第一SQL语句中提取目标指标和目标维度的特征字段。
SQL操作语句是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。在数据库中执行各种对应的数据操作时,用户会根据操作需要输入对应的SQL操作语句,以执行对应的操作,此时数据库客户端首先获取用户输入的SQL操作语句,并对该操作语句进行解析,并根据解析结果实现数据的创建、连接、删除以及分组等各种操作。
可以通过开源库或者其他SQL解析技术解析第一SQL语句的各部位(或者称为关键字),得到第一SQL中的指标和维度的特征字段,指标和维度的特征字段也称为指标和维度的特征。
图2为SQL语句解析的思维导图的一种示意图,如图2所示,通过解析SQL语句的得到SQL语句的关键字SELECT,根据关键字SELECT进一步解析得到指标和维度,维度的来源字段,指标的加工逻辑和来源字段。这里不再一一介绍。
在该第一SQL语句中可能提取到一个或者多个目标指标,同样,该第一SQL语句中可能提取到一个或者多个目标维度。指标和维度的特征字段包括类型(column type)、全局唯一名称字段(global standard name)以及以下字段中的一个或者多个:字段名称(dimension fields name)、字段所在表(fields write table)、来源表路径(origintable path)、来源字段路径(origin table path)、过滤条件(filter sql)、计算逻辑(metric field logic)。
字段名称是指字段在SQL语句中使用的名称,字段类型为指标或者维度,在数据仓库中存在同一个名称多种含义的情况,或者同一业务却使用了多个不同的名称表示,所以需要对维度和指标的字段名称做标准化处理得到维度和指标的全局唯一名称。
字段所在表是指经过计算后的字段最终存储的表,而来源表是指加工这个字段的源表,即字段是从哪张表中来的。来源表是字段的上游表,字段所在表是字段的下游表,来源字段属于来源表。一张来源表中包括多个字段,来源字段是指该字段在来源表中对应的字段。
指标和维度可以采用不同的计算方式得到全局唯一名称,例如,针对维度可以通过算法模型对数据仓库中的所有字段进行标准化后得出,针对指标字段可以通过词频逆文本频率指数(term frequency–inverse document frequency,简称tf-idf)算法得出。
S102、从全量特征库中确定所述目标指标的可替换指标,其中,全量特征库中存储有数据仓库中的SQL语句的指标和维度的特征字段,指标和维度的特征字段包括类型、全局唯一字段名称以及以下字段中的一个或者多个字段:字段名称、字段所在表、来源表路径、来源字段路径、过滤条件、计算逻辑。
该全量特征库中存储有数据仓库中的SQL语句的指标和维度的特征字段,示例性的,获取数据仓库中的所有数据模型的最新运行日志,抽取运行日志中的SQL语句,清洗SQL语句中的干扰字符,对清洗后的SQL语句进行特征提取,将SQL语句提取到的特征存储到全量特征库中。运行日志中的SQL语句的指标和维度的特征字段的提取过程与前述第一SQL语句中指标和维度的特征字段的提取方式相同。
日志中抽取到的SQL语句包括注释、因日志打印出现的乱码、原SQL错位导致出现不能解析的SQL以及转义字符(例如&&)等干扰字符,需要先清洗掉干扰字符。
可以理解,运行日志中的SQL语句并不是用户输入的SQL语句,而是经过解析等处理后的SQL语句,日志中SQL语句能够直接运行。
全量特征库中存储有大量已有的指标和维度的特征字段,该全量特征库可以不断更新,例如,周期性更新全量特征库,以便将新产生的指标和维度增加到全量特征库中。
通过将目标指标与全量数据库中的指标进行匹配,查询目标指标的可替换指标,其中,可替换指标的特征字段与目标指标的特征字段相同。当第一SQL语句中有多个目标指标时,依次查询每个目标指标是否存在可替换指标。其中,目标指标可能存在可替换指标,也可能不存在可替换指标。
S103、根据可替换指标和目标维度重组得到第二SQL语句,输出第二SQL语句,第二SQL语句为第一SQL语句的可替换语句。
当第一SQL语句中包括多个目标指标时,该多个目标指标可能均有可替换指标,也可能只有部分目标指标具有可替换指标,或者,当多个目标指标中的全部指标具有可替换指标时,该多个可替换指标的字段来源表可能相同也可能不同,上述这几种情况下,重构第二SQL语句的方法不同,以下将分别对各种情况进行说明。
情况一,当第一SQL语句中的多个目标指标的可替换指标的字段所在表均相同时,即所有目标指标的可替换指标的字段所在表为同一个表,将第一SQL语句中的多个目标指标替换为可替换指标得到第二SQL语句。当所有目标指标的可替换指标的字段所在表为同一个表时,可以直接查询该表,不需要进行重复指标计算,提高了数据模型复用率。
示例性的,用户输入sql为:select item_sku_id,shop_id,count(user_log_acct)as pv,count(distinct user_log_acct)as uv from gdm_m14_glb_wireless_online_log where dt=sysdate(-1)。
其中,维度为item_sku_id和shop_id,指标为pv和uv,指标pv、uv存在可替换指标,且可替换指标的字段所在表为同一个表,则重构后的第二SQL语句为:select item_sku_id,shop_id,app_pv,app_uv from adm.adm_s14_glb_wireless_sum where dt=sysdate(-1)。
情况二,当第一SQL语句中的多个目标指标的可替换指标的字段所在表均不相同时,即所有目标指标的可替换指标的字段所在表为不同的表,分别以每个可替换指标为主字段,与第一SQL语句中的所有维度字段内连接(join)得到单一指标的临时表,将每个临时表插入SQL语句中得到第三SQL语句,将得到的所有第三SQL语句进行内连接得到第二SQL语句。
每个可替换指标作为单一指标与第一SQL语句中的所有维度字段进行内连接得到单一指标的临时表,当有N个目标指标具有可替换指标时,则生成N个临时表。将每个临时表按照预设的规则插入SQL语句中得到对应的第三SQL语句。将第三SQL语句进行内连接得到第二SQL语句,可以认为是将所有维度字段为关联字段进行内连接得到的,最终得到的数据模型包括第一SQL语句中的所有维度和指标。
仍以情况一中的第一SQL语句为例,则最终得到的第二SQL语句如下。
select a.item_sku_id,a.shop_id,app_pv,app_uv from(select item_sku_id,shop_id,app_pv from adm.adm_s14_glb_wireless_pv_sum where dt=sysdate(-1)
)a inner join(
select item_sku_id,shop_id,app_uv from adm.adm_s14_glb_wireless_uv_sum where dt=sysdate(-1)
)b on a.item_sku_id=b.item_sku_id and a.shop_id=b.shop_id
情况三、当第一SQL语句中的第一目标指标具有可替换指标,且第二目标指标不具有可替换指标时,即第一SQL语句中的部分指标具有可替换指标,则分别以每个可替换指标为主字段,与第一SQL语句中的所有维度字段内连接得到单一指标的临时表,将每个临时表插入SQL语句中得到第三SQL语句;将得到的所有第三SQL语句进行内连接得到第四SQL语句;将第四SQL语句与第二目标指标构造得到的第五SQL语句进行内连接,得到第二SQL语句。
该情况下,第一SQL语句中的部分指标具有可替换指标,针对具有可替换指标的目标指标,按照情况二的方法生成第四SQL语句,然后将第四SQL语句与第五SQL语句进行内连接得到第二SQL,其中,第五SQL语句是第一SQL语句中的不可替换的目标指标构造得到的SQL语句。
上述方式,相当于用了其他SQL语句中已有的指标和维度,替换了第一SQL语句中用户需要计算的指标和维度,即重组了一段新的SQL语句,重组得到的第二SQL语句)的查询需求与第一SQL语句的查询需求是相同的,从而能够满足用户的查询需求。
当全量特征库中不存在目标指标的可替换指标时,即第一SQL语句中的全部指标均不可替换,说明本次开发的数据模型的指标和维度在已有数据模型中并不存在,无法复用,此时输出第一SQL语句。
本实施例中,从用户输入的第一SQL语句中提取目标指标和目标维度的特征字段,从全量特征库中确定目标指标的可替换指标,该全量特征库中存储有数据仓库中的SQL语句的指标和维度的特征字段,根据可替换指标和所述目标维度重组得到第二SQL语句,输出第二SQL语句。重组得到的第二SQL语句为第一SQL语句的可替换语句,能够满足用户的查询需求,该方法能够自动从已有SQL语句的特征字段提取本次加工所需要的维度和指标,利用已有的维度和指标重组SQL语句,完成数据模型的开发,提高了已有数据模型的利用率,避免重复开发造成的资源浪费。
在实施例一的基础上,本发明实施例二提供一种可替换指标的匹配方法,用于对实施例一种步骤S102进行详细说明,图3为本发明实施例二提供的可替换指标的匹配方法的流程图,如图3所示,本实施例提供的方法包括以下步骤。
S1021、针对第一SQL语句中的每个目标指标,获取该目标指标的全局唯一名称字段。
可以采用已有的算法计算得到目标指标的全局唯一名称字段,在后续匹配时使用该全局唯一名称字段进行匹配。
S1022、从全量特征库中查询与目标指标的全局唯一名称字段相同的所有指标组成第一候选指标集合。
全量特征库中包括多个已有指标和维度,以及已有指标和维度的特征字段,指标和维度的特征字段包括类型、全局唯一字段名称以及以下字段中的一个或者多个字段:字段名称、字段所在表、来源表路径、来源字段路径、过滤条件和计算逻辑。不同指标包括的字段的个数可能不同,例如,指标1包括字段名称、类型、全局唯一名称字段、字段所在表、来源表路径,指标2包括字段名称、类型、全局唯一名称字段、字段所在表、来源表路径、来源字段名称和计算逻辑。全量特征库中存储的指标和维度的特征可以以特定结构存储。
在计算得到目标指标的全局唯一字段名称之后,将目标指标的全局唯一字段名称与全量特征库中各指标的全局唯一字段名称进行比较,找到所有与目标指标的全局唯一字段名称相同的指标形成第一候选指标集合。
S1023、根据目标指标的来源表路径,从第一候选指标集合中确定与目标指标的来源表路径相同的指标,得到第二候选指标集合。
S1024、根据所目标指标的来源字段路径,从第二候选指标集合中确定与所目标指标的来源字段路径相同的指标,得到第三候选指标集合。
S1025、根据所目标指标的计算逻辑,从第三候选指标集合中确定与目标指标的计算逻辑相同的指标,得到第四候选指标集合。
S1026、根据目标指标的过滤条件,从第四候选指标集合中确定与目标指标的过滤条件相同的指标,得到目标指标的可替换指标。
需要说明的是,步骤S1025和S1026在执行时并没有先后顺序,在得到第三候选指标集合之后,也可以先匹配过滤条件满足的指标,再匹配计算逻辑满足的指标。
可以理解,本实施例中是以目标指标包括全局唯一字段名称、字段所在表、来源表路径、来源字段路径、过滤条件和计算逻辑为例说明的匹配过程,在实际过程中,目标指标可能只包括部分特征字段,则不需要全部执行上述全部步骤,只需要执行部分步骤即可得到目标指标的可替换指标。
图4为本发明实施例三提供的数据模型的生成装置的结构示意图,如图4所示,本实施例的装置100包括以下步骤。
提取模块11,用于从用户输入的第一结构化查询语言SQL语句中提取目标指标和目标维度的特征字段;
确定模块12,用于从全量特征库中确定所述目标指标的可替换指标,其中,所述全量特征库中存储有数据仓库中的SQL语句的指标和维度的特征字段,所述指标和维度的特征字段包括类型、全局唯一字段名称以及以下字段中的一个或者多个字段:字段名称、字段所在表、来源表路径、来源字段路径、过滤条件、计算逻辑;
重组模块13,用于根据所述可替换指标和所述目标维度重组得到第二SQL语句,所述第二SQL语句为所述第一SQL语句的可替换语句;
输出模块14,用于输出所述第二SQL语句。
可选的,所述确定模块12具体用于:
针对每个所述目标指标,获取所述目标指标的全局唯一名称字段;
从所述全量特征库中查询与所述目标指标的全局唯一名称字段相同的所有指标组成第一候选指标集合;
根据所述目标指标的来源表路径,从所述第一候选指标集合中确定与所述目标指标的来源表路径相同的指标,得到第二候选指标集合;
根据所述目标指标的来源字段路径,从所述第二候选指标集合中确定与所述目标指标的来源字段路径相同的指标,得到第三候选指标集合;
根据所述目标指标的计算逻辑,从所述第三候选指标集合中确定与所述目标指标的计算逻辑相同的指标,得到第四候选指标集合;
根据所述目标指标的过滤条件,从所述第四候选指标集合中确定与所述目标指标的过滤条件相同的指标,得到所述目标指标的可替换指标。
可选的,所述第一SQL语句中包括多个目标指标,所述重组模块13具体用于:
当所述第一SQL语句中的多个目标指标的可替换指标的字段所在表均相同时,将所述第一SQL语句中的多个目标指标替换为可替换指标得到所述第二SQL语句。
可选的,所述第一SQL语句中包括多个目标指标,所述重组模块13具体用于:
当所述第一SQL语句中的多个目标指标的可替换指标的字段所在表均不相同时,分别以每个可替换指标为主字段,与所述第一SQL语句中的所有维度字段内连接得到单一指标的临时表,将每个临时表插入SQL语句中得到第三SQL语句;
将得到的所有第三SQL语句进行内连接得到所述第二SQL语句。
可选的,所述第一SQL语句中包括多个目标指标,所述重组模块13具体用于:
当所述第一SQL语句中的第一目标指标具有可替换指标,且第二目标指标不具有可替换指标时,分别以每个可替换指标为主字段,与所述第一SQL语句中的所有维度字段内连接得到单一指标的临时表,将每个临时表插入SQL语句中得到第三SQL语句;
将得到的所有第三SQL语句进行内连接得到第四SQL语句;
将所述第四SQL语句与所述第二目标指标构造得到第五SQL语句进行内连接,得到所述第二SQL语句。
可选的,所述提取模块11还用于:
获取所述数据仓库中的所有数据模型的最新运行日志;
抽取所述运行日志中的SQL语句,清洗所述SQL语句中的干扰字符;
对清洗后的所述SQL语句进行特征提取;
将所述SQL语句提取到的特征存储到所述全量特征库中。
本实施例的装置,可用于执行上述实施例一或实施例二所述的方法,具体实现方式和技术效果类似,这里不再赘述。
图5为本发明实施例四提供的电子设备的一种结构示意图,如图5所示,该电子设备200包括:处理器21、存储器22和收发器23,所述存储器22用于存储指令,所述收发器23用于和其他设备通信,所述处理器21用于执行所述存储器中存储的指令,以使所述电子设备200执行如上述实施例一或实施例二所述的方法,具体实现方式和技术效果类似,这里不再赘述。
本发明实施例五提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述实施例一或实施例二所述的方法,具体实现方式和技术效果类似,这里不再赘述。
本发明实施例六提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上述实施例一或实施例二所述的方法,具体实现方式和技术效果类似,这里不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种数据模型的生成方法,其特征在于,包括:
从用户输入的第一结构化查询语言SQL语句中提取目标指标和目标维度的特征字段;
从全量特征库中确定所述目标指标的可替换指标,其中,所述全量特征库中存储有数据仓库中的SQL语句的指标和维度的特征字段,所述指标和维度的特征字段包括类型、全局唯一字段名称以及以下字段中的一个或者多个字段:字段名称、字段所在表、来源表路径、来源字段路径、过滤条件、计算逻辑;
根据所述可替换指标和所述目标维度重组得到第二SQL语句,输出所述第二SQL语句,所述第二SQL语句为所述第一SQL语句的可替换语句。
2.根据权利要求1所述的方法,其特征在于,所述从全量特征库中确定所述目标指标的可替换指标,包括:
针对每个所述目标指标,获取所述目标指标的全局唯一名称字段;
从所述全量特征库中查询与所述目标指标的全局唯一名称字段相同的所有指标组成第一候选指标集合;
根据所述目标指标的来源表路径,从所述第一候选指标集合中确定与所述目标指标的来源表路径相同的指标,得到第二候选指标集合;
根据所述目标指标的来源字段路径,从所述第二候选指标集合中确定与所述目标指标的来源字段路径相同的指标,得到第三候选指标集合;
根据所述目标指标的计算逻辑,从所述第三候选指标集合中确定与所述目标指标的计算逻辑相同的指标,得到第四候选指标集合;
根据所述目标指标的过滤条件,从所述第四候选指标集合中确定与所述目标指标的过滤条件相同的指标,得到所述目标指标的可替换指标。
3.根据权利要求1或2所述的方法,其特征在于,所述第一SQL语句中包括多个目标指标,所述根据所述可替换指标和所述目标维度重组得到第二SQL语句,包括:
当所述第一SQL语句中的多个目标指标的可替换指标的字段所在表均相同时,将所述第一SQL语句中的多个目标指标替换为可替换指标得到所述第二SQL语句。
4.根据权利要求1或2所述的方法,其特征在于,所述第一SQL语句中包括多个目标指标,所述根据所述可替换指标和所述目标维度重组得到第二SQL语句,包括:
当所述第一SQL语句中的多个目标指标的可替换指标的字段所在表均不相同时,分别以每个可替换指标为主字段,与所述第一SQL语句中的所有维度字段内连接得到单一指标的临时表,将每个临时表插入SQL语句中得到第三SQL语句;
将得到的所有第三SQL语句进行内连接得到所述第二SQL语句。
5.根据权利要求1或2所述的方法,其特征在于,所述第一SQL语句中包括多个目标指标,根据所述可替换指标和所述目标维度重组得到第二SQL语句,包括:
当所述第一SQL语句中的第一目标指标具有可替换指标,且第二目标指标不具有可替换指标时,分别以每个可替换指标为主字段,与所述第一SQL语句中的所有维度字段内连接得到单一指标的临时表,将每个临时表插入SQL语句中得到第三SQL语句;
将得到的所有第三SQL语句进行内连接得到第四SQL语句;
将所述第四SQL语句与所述第二目标指标构造得到第五SQL语句进行内连接,得到所述第二SQL语句。
6.根据权利要求1所述的方法,其特征在于,还包括:
获取所述数据仓库中的所有数据模型的最新运行日志;
抽取所述运行日志中的SQL语句,清洗所述SQL语句中的干扰字符;
对清洗后的所述SQL语句进行特征提取;
将所述SQL语句提取到的特征存储到所述全量特征库中。
7.一种数据模型的生成装置,其特征在于,包括:
提取模块,用于从用户输入的第一结构化查询语言SQL语句中提取目标指标和目标维度的特征字段;
确定模块,用于从全量特征库中确定所述目标指标的可替换指标,其中,所述全量特征库中存储有数据仓库中的SQL语句的指标和维度的特征字段,所述指标和维度的特征字段包括类型、全局唯一字段名称以及以下字段中的一个或者多个字段:字段名称、字段所在表、来源表路径、来源字段路径、过滤条件、计算逻辑;
重组模块,用于根据所述可替换指标和所述目标维度重组得到第二SQL语句,所述第二SQL语句为所述第一SQL语句的可替换语句;
输出模块,用于输出所述第二SQL语句。
8.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110430181.1A CN113760864A (zh) | 2021-04-21 | 2021-04-21 | 数据模型的生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110430181.1A CN113760864A (zh) | 2021-04-21 | 2021-04-21 | 数据模型的生成方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113760864A true CN113760864A (zh) | 2021-12-07 |
Family
ID=78787026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110430181.1A Pending CN113760864A (zh) | 2021-04-21 | 2021-04-21 | 数据模型的生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760864A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115470229A (zh) * | 2022-08-30 | 2022-12-13 | 昆仑数智科技有限责任公司 | 数据表处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-04-21 CN CN202110430181.1A patent/CN113760864A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115470229A (zh) * | 2022-08-30 | 2022-12-13 | 昆仑数智科技有限责任公司 | 数据表处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109977110B (zh) | 数据清洗方法、装置及设备 | |
US11068510B2 (en) | Method and system for implementing efficient classification and exploration of data | |
Xin et al. | Production machine learning pipelines: Empirical analysis and optimization opportunities | |
US9646262B2 (en) | Data intelligence using machine learning | |
EP4195112A1 (en) | Systems and methods for enriching modeling tools and infrastructure with semantics | |
US10521224B2 (en) | Automatic identification of relevant software projects for cross project learning | |
CN110472068B (zh) | 基于异构分布式知识图谱的大数据处理方法、设备及介质 | |
US9483387B1 (en) | Tree comparison functionality for services | |
US9390176B2 (en) | System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data | |
US10565172B2 (en) | Adjusting application of a set of data quality rules based on data analysis | |
CN110109678B (zh) | 一种代码审计规则库生成方法、装置、设备及介质 | |
US9706005B2 (en) | Providing automatable units for infrastructure support | |
EP2862101A1 (en) | Method and a consistency checker for finding data inconsistencies in a data repository | |
US20210182293A1 (en) | Candidate projection enumeration based query response generation | |
US20140317066A1 (en) | Method of analysing data | |
CN112579578A (zh) | 基于元数据的数据质量管理方法、装置、系统及服务器 | |
CN113760864A (zh) | 数据模型的生成方法和装置 | |
US20150347506A1 (en) | Methods and apparatus for specifying query execution plans in database management systems | |
Eken et al. | Predicting defects with latent and semantic features from commit logs in an industrial setting | |
US11822578B2 (en) | Matching machine generated data entries to pattern clusters | |
CN114896955A (zh) | 数据报表加工方法、装置、计算机设备及存储介质 | |
US11908466B2 (en) | Automatically determining a descriptive identifier for a process grouping | |
CN113010517B (zh) | 数据表管理方法及装置 | |
CN113064597B (zh) | 一种冗余代码的识别方法、装置和设备 | |
AU2020104034A4 (en) | IML-Cloud Data Performance: Cloud Data Performance Improved using Machine Learning. |
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 |