CN114253973A - 数据表的确定方法和装置、存储介质及电子装置 - Google Patents

数据表的确定方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN114253973A
CN114253973A CN202111547753.0A CN202111547753A CN114253973A CN 114253973 A CN114253973 A CN 114253973A CN 202111547753 A CN202111547753 A CN 202111547753A CN 114253973 A CN114253973 A CN 114253973A
Authority
CN
China
Prior art keywords
data
data table
data dictionary
dictionary
query language
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
Application number
CN202111547753.0A
Other languages
English (en)
Inventor
张凡帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Original Assignee
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Haier Technology Co Ltd, Haier Smart Home Co Ltd filed Critical Qingdao Haier Technology Co Ltd
Priority to CN202111547753.0A priority Critical patent/CN114253973A/zh
Publication of CN114253973A publication Critical patent/CN114253973A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据表的确定方法和装置、存储介质及电子装置,其中,上述方法包括:获取目标应用中的开发文件,其中,开发文件用于指示数据表的构建规则,开发文件包括:模板文件,异构数据字典的结构化查询语言;接收目标对象的设置指令,根据设置指令对异构数据字典的结构化查询语言进行查询处理,得到异构数据字典的结构化查询语言对应的标准数据字典,其中,设置指令包括:源系统的所属数据库信息;将标准数据字典同步至模板文件中生成数据表,并将数据表上传至目标应用得到对应的标准化建表语句,采用上述技术方案,解决了无法快速准确的确认建立数仓的数据表,以及通过数据表确定对应的建表语句等问题。

Description

数据表的确定方法和装置、存储介质及电子装置
技术领域
本发明涉及通信领域,具体而言,涉及一种数据表的确定方法和装置、存储介质及电子装置。
背景技术
数据仓库在企业的决策支持和OLAP(Online Analytical Processing,联机分析处理,简称OLAP)应用中发挥越来越重要的角色,越来越多开发人员参与到数据仓库建设及数据模型中。在数据接入和模型建设时有大量hive数仓表创建及字段类型映射的工作。通过人工进行hive数仓表的建表语句的手工编码时,效率低、出错率高。异构数据库的字段类型人工映射。规范性差,类型不兼容、精度丢失问题频发,命名规范依赖开发人员素质。对新的开发人员来说学习成本高,开发阶段容易出现命名错误。
针对相关技术中,无法快速准确的确认建立数仓的数据表,以及通过数据表确定对应的建表语句等问题,尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据表的确定方法和装置、存储介质及电子装置,以至少解决相关技术中,无法快速准确的确认建立数仓的数据表,以及通过数据表确定对应的建表语句等问题。
根据本发明实施例的一个实施例,提供了一种数据表的确定方法,包括:获取目标应用中的开发文件,其中,所述开发文件用于指示数据表的构建规则,所述开发文件包括:模板文件,异构数据字典的结构化查询语言;接收目标对象的设置指令,根据所述设置指令对所述异构数据字典的结构化查询语言进行查询处理,得到所述异构数据字典的结构化查询语言对应的标准数据字典,其中,所述设置指令包括:源系统的所属数据库信息;将所述标准数据字典同步至所述模板文件中生成数据表,并将所述数据表上传至目标应用得到对应的标准化建表语句。
在一个示例性实施例中,接收目标对象的设置指令,根据设置指令对异构数据字典的结构化查询语言进行查询处理,得到异构数据字典的结构化查询语言对应的标准数据字典,包括:根据设置指令携带的源系统的所属数据库信息,将异构数据字典的结构化查询语言上传至对应数据库的源系统中进行数据类型映射;将数据库中的数据类型信息、待建立数仓的数据类型信息、数据类型映射的结果进行汇总,以得到异构数据字典的结构化查询语言对应的标准数据字典。
在一个示例性实施例中,根据设置指令携带的源系统的所属数据库信息,将异构数据字典的结构化查询语言上传至对应数据库的源系统中进行数据类型映射,包括:获取异构数据字典的结构化查询语言在数据库中存储时的第一数据类型,并确定第一数据类型的第一字节长度;确定对所述第一字节长度在所述数据库的源系统进行对数运算得到的第二字节长度,其中,所述第二字节长度用于指示所述第一字节长度在数仓中以第二数据类型存储时的长度;根据第二字节长度确定异构数据字典的结构化查询语言在数据库的源系统中进行数据类型映射的结果。
在一个示例性实施例中,将标准数据字典同步至模板文件中生成数据表,包括:解析标准数据字典,确定标准数据字典中目标字段的位置坐标信息,其中,目标字段包括以下至少之一:标准数据字典中的字段名、标准数据字典中的数据类型、标准数据字典中的字段注释;根据位置坐标信息将目标字段匹配到模板文件中生成数据表。
在一个示例性实施例中,将数据表上传至目标应用得到对应的标准化建表语句,包括:将数据表上传至目标应用,并确定目标应用对于数据表的检测结果,其中,检测结果用于指示所述目标应用中配置的校验参数对所述数据表中内容的识别结果,所述校验参数包括以下至少之一:数据表的保留字清单、数据表的命名规则和/或附加字段信息、数据表的时间戳、数据表的数据类型、数据表的存储格式、数据表的引用字段;在检测结果指示数据表通过目标应用检测的情况下,接收目标应用下发的数据表转化的标准化建表语句。
在一个示例性实施例中,接收目标应用下发的数据表转化的标准化建表语句之后,上述方法还包括:将标准化建表语句提交至数仓中进行执行,并获取数仓执行标准化建表语句的执行结果;在执行结果指示标准化建表语句对应的目标数仓已成功建立的情况下,生成提示信息,其中,提示信息用于提示目标对象数据表对应的目标数仓已成功建立。
在一个示例性实施例中,获取目标应用中的开发文件之后,上述方法还包括:在设置指令还包括表名信息的情况下,根据表名信息对开发文件中模板文件的名称进行变更;在确定模板文件完成名称变更的情况下,根据预设规范对模板文件进行属性信息的选择,其中,属性信息包括以下至少之一:模板文件对应的数据库库名、模板文件在数据库中的分区类型、模板文件当前创建者的信息、模板文件对应的表类型。
根据本发明实施例的另一个实施例,还提供了一种数据表的确定装置,包括:获取模块,用于获取目标应用中的开发文件,其中,所述开发文件用于指示数据表的构建规则,所述开发文件包括:模板文件,异构数据字典的结构化查询语言;查询模块,用于接收目标对象的设置指令,根据所述设置指令对所述异构数据字典的结构化查询语言进行查询处理,得到所述异构数据字典的结构化查询语言对应的标准数据字典,其中,所述设置指令包括:源系统的所属数据库信息;生成模块,用于将所述标准数据字典同步至所述模板文件中生成数据表,并将所述数据表上传至目标应用得到对应的标准化建表语句。
在一个示例性实施例中,上述查询模块,还用于根据设置指令携带的源系统的所属数据库信息,将异构数据字典的结构化查询语言上传至对应数据库的源系统中进行数据类型映射;将数据库中的数据类型信息、待建立数仓的数据类型信息、数据类型映射的结果进行汇总,以得到异构数据字典的结构化查询语言对应的标准数据字典。
在一个示例性实施例中,上述查询模块,还用于获取异构数据字典的结构化查询语言在数据库中存储时的第一数据类型,并确定第一数据类型的第一字节长度;确定对所述第一字节长度在所述数据库的源系统进行对数运算得到的第二字节长度,其中,所述第二字节长度用于指示所述第一字节长度在数仓中以第二数据类型存储时的长度;根据第二字节长度确定异构数据字典的结构化查询语言在数据库的源系统中进行数据类型映射的结果。
在一个示例性实施例中,上述生成模块,还用于解析标准数据字典,确定标准数据字典中目标字段的位置坐标信息,其中,目标字段包括以下至少之一:标准数据字典中的字段名、标准数据字典中的数据类型、标准数据字典中的字段注释;根据位置坐标信息将目标字段匹配到模板文件中生成数据表。
在一个示例性实施例中,上述生成模块,还用于将数据表上传至目标应用,并确定目标应用对于数据表的检测结果,其中,检测结果包用于指示所述目标应用中配置的校验参数对所述数据表中内容的识别结果,所述校验参数包括以下至少之一:数据表的保留字清单、数据表的命名规则和/或附加字段信息、数据表的时间戳、数据表的数据类型、数据表的存储格式、数据表的引用字段;在检测结果指示数据表通过目标应用检测的情况下,接收目标应用下发的数据表转化的标准化建表语句。
在一个示例性实施例中,上述装置还包括:执行模块,用于将标准化建表语句提交至数仓中进行执行,并获取数仓执行标准化建表语句的执行结果;在执行结果指示标准化建表语句对应的目标数仓已成功建立的情况下,生成提示信息,其中,提示信息用于提示目标对象数据表对应的目标数仓已成功建立。
在一个示例性实施例中,上述装置还包括:变更模块,用于在设置指令还包括表名信息的情况下,根据表名信息对开发文件中模板文件的名称进行变更;在确定模板文件完成名称变更的情况下,根据预设规范对模板文件进行属性信息的选择,其中,属性信息包括以下至少之一:模板文件对应的数据库库名、模板文件在数据库中的分区类型、模板文件当前创建者的信息、模板文件对应的表类型。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据表的确定方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的数据表的确定方法。
在本发明实施例中,获取目标应用中的开发文件,其中,开发文件用于指示数据表的构建规则,开发文件包括:模板文件,异构数据字典的结构化查询语言;接收目标对象的设置指令,根据设置指令对异构数据字典的结构化查询语言进行查询处理,得到异构数据字典的结构化查询语言对应的标准数据字典,其中,设置指令包括:源系统的所属数据库信息;将标准数据字典同步至模板文件中生成数据表,并将数据表上传至目标应用得到对应的标准化建表语句;即通过目标应用对数仓建立的标准规范进行解析,以得到标准规范对应的模板文件,异构数据字典的结构化查询语言,进而通过目标应用对目标对象处理后的模板文件对应的数据表进行处理,确定数据表对应的标准化建表语句进行数仓的建立。采用上述技术方案,解决了无法快速准确的确认建立数仓的数据表,以及通过数据表确定对应的建表语句等问题,进而实现了对于源系统的所属数据库对应数仓的快速建立,并提升了数据字典信息的高效处理,使得数仓的建立规范实现了标准化流程的统一。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据表的确定方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的数据表的确定方法的流程图;
图3是根据本发明可选实施例的数据表的确定方法的时序图;
图4是根据本发明可选实施例的WEB应用数据处理的流程图;
图5是根据本发明可选实施例的WEB应用的系统架构图;
图6是根据本发明实施例的一种数据表的确定装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种数据表的确定方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据表的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据表的确定方法,应用于上述计算机终端,图2是根据本发明实施例的数据表的确定方法的流程图,该流程包括如下步骤:
步骤S202,获取目标应用中的开发文件,其中,所述开发文件用于指示数据表的构建规则,所述开发文件包括:模板文件,异构数据字典的结构化查询语言;
需要说明的是,上述开发文件可以根据建立数仓标准规范在目标应用中灵活进行构建,在进行构建时,目标应用中对存在的预设的模板文件中非隐藏的工作表sheet进行识别,判定预设的模板文件中内容结构符合模板规范之后进行表信息相关内容处理,将目标应用中存在配置好的数仓hive保留字清单、数仓开发规范的命名规则及附加字段信息、时间戳timestamp数据类型与parquet存储格式的冲突识别功能模块、保留字自动引用quote模块,继而将预设的模板文件配置成对应符合建立数仓标准规范的模板文件。
步骤S204,接收目标对象的设置指令,根据所述设置指令对所述异构数据字典的结构化查询语言进行查询处理,得到所述异构数据字典的结构化查询语言对应的标准数据字典,其中,所述设置指令包括:源系统的所属数据库信息;
可选的,确定异构数据字典的结构化查询语言对应的源系统的源表所属数据库以及表名信息后,通过结构化查询语言对标准的数据类型进行自动映射。
步骤S206,将所述标准数据字典同步至所述模板文件中生成数据表,并将所述数据表上传至目标应用得到对应的标准化建表语句。
通过上述步骤,获取目标应用中的开发文件,其中,开发文件用于指示数据表的构建规则,开发文件包括:模板文件,异构数据字典的结构化查询语言;接收目标对象的设置指令,根据设置指令对异构数据字典的结构化查询语言进行查询处理,得到异构数据字典的结构化查询语言对应的标准数据字典,其中,设置指令包括:源系统的所属数据库信息;将标准数据字典同步至模板文件中生成数据表,并将数据表上传至目标应用得到对应的标准化建表语句;即通过目标应用对数仓建立的标准规范进行解析,以得到标准规范对应的模板文件,异构数据字典的结构化查询语言,进而通过目标应用对目标对象处理后的模板文件对应的数据表进行处理,确定数据表对应的标准化建表语句进行数仓的建立。采用上述技术方案,解决了无法快速准确的确认建立数仓的数据表,以及通过数据表确定对应的建表语句等问题,进而实现了对于源系统的所属数据库对应数仓的快速建立,并提升了数据字典信息的高效处理,使得数仓的建立规范实现了标准化流程的统一。
可选的,上述模板文件可以电子表格模板,也可以是其他类型的模板,这是根据实际情况灵活确定的,本申请对此不做过多限定。
在一个示例性实施例中,接收目标对象的设置指令,根据设置指令对异构数据字典的结构化查询语言进行查询处理,得到异构数据字典的结构化查询语言对应的标准数据字典,包括:根据设置指令携带的源系统的所属数据库信息,将异构数据字典的结构化查询语言上传至对应数据库的源系统中进行数据类型映射;将数据库中的数据类型信息、待建立数仓的数据类型信息、数据类型映射的结果进行汇总,以得到异构数据字典的结构化查询语言对应的标准数据字典。
也就是说,在确定异构数据字典的结构化查询语言对应的用于建立数据仓的标准数据字典时,需要确定对待建立数仓的源系统的所属数据库信息,继而根据所属数据库信息对应的数据类型确定出与之对应的数仓中的数据类型,以完成数据类型的映射,进一步将数据库中的数据类型信息、待建立数仓的数据类型信息、数据类型映射的结果进行汇总,确定出异构数据字典的结构化查询语言对应的标准数据字典。
在一个示例性实施例中,根据设置指令携带的源系统的所属数据库信息,将异构数据字典的结构化查询语言上传至对应数据库的源系统中进行数据类型映射,包括:获取异构数据字典的结构化查询语言在数据库中存储时的第一数据类型,并确定第一数据类型的第一字节长度;确定对所述第一字节长度在所述数据库的源系统进行对数运算得到的第二字节长度,其中,所述第二字节长度用于指示所述第一字节长度在数仓中以第二数据类型存储时的长度;根据第二字节长度确定异构数据字典的结构化查询语言在数据库的源系统中进行数据类型映射的结果。
例如,在开发客户端上存在数据字典SQL(相当于本发明实施例中的异构数据字典的结构化查询语言)之后,根据目标对象的发出的设置指令填写源表的所属库及表名信息,将数据字典SQL(Structured Query language,结构化查询语言,简称SQL)提交到源系统进行查询,数据字典SQL中会完成标准的数据类型映射,例如,针对类似MySQL数据库中的bit数据类型,数据字典SQL会自动进行对数运算计算出hive数仓中数据类型长度,字段顺序会自动根据源系统的字段顺序进行排序。
在一个示例性实施例中,将标准数据字典同步至模板文件中生成数据表,包括:解析标准数据字典,确定标准数据字典中目标字段的位置坐标信息,其中,目标字段包括以下至少之一:标准数据字典中的字段名、标准数据字典中的数据类型、标准数据字典中的字段注释;根据位置坐标信息将目标字段匹配到模板文件中生成数据表。
可以理解的是,为了便于将标准数据字典在对应的模板文件中进行填充,在源系统中进行数据类型映射生成的标准数据字典中的目标字段是存在一定的位置坐标的,进而可以通过与模板文件中默认的坐标位置信息进行匹配,使得可以将标准数据字典快速的填充至模板文件中,得到数据表。例如,将数据字典中位置坐标处的字段复制到模板中对应坐标位置处完成匹配,从而将标准数据字典转化成数据表。
在一个示例性实施例中,将数据表上传至目标应用得到对应的标准化建表语句,包括:将数据表上传至目标应用,并确定目标应用对于数据表的检测结果,其中,检测结果用于指示所述目标应用中配置的校验参数对所述数据表中内容的识别结果,所述校验参数包括以下至少之一:数据表的保留字清单、数据表的命名规则和/或附加字段信息、数据表的时间戳、数据表的数据类型、数据表的存储格式、数据表的引用字段;在检测结果指示数据表通过目标应用检测的情况下,接收目标应用下发的数据表转化的标准化建表语句。
也就是说,在通过目标应用将数据表转化为对应的用于构建数仓的标准化建表语句时,为了使得转化的标准化建表语句更好的贴合当前数仓,根据待建立的数仓的预设条件的校验参数对数据表进行检测。
可选的,上述预设条件的校验参数包括:hive保留字清单、数仓开发规范的命名规则及附加字段信息、timestamp(时间戳)数据类型与parquet存储格式的冲突识别功能模块、保留字自动quote引用模块,进而通过校验参数确定数据表中对应的内容结构符合模板规范,已读取数据表中的内容转化为标准化建表语句,使用标准化建表语句执行数仓的建立。
可选的,在通过数据表进行数仓建立时,如果出现仅数仓的库名不同的多个数据表需要创建,则只需要在库名中使用斜杠分割多个库名。若想一次完成多个不同结构的数据表的创建,则只需要在同一excel数据表文件中对工作表sheet进行扩展即可。
在一个示例性实施例中,接收目标应用下发的数据表转化的标准化建表语句之后,上述方法还包括:将标准化建表语句提交至数仓中进行执行,并获取数仓执行标准化建表语句的执行结果;在执行结果指示标准化建表语句对应的目标数仓已成功建立的情况下,生成提示信息,其中,提示信息用于提示目标对象数据表对应的目标数仓已成功建立。
在一个示例性实施例中,获取目标应用中的开发文件之后,上述方法还包括:在设置指令还包括表名信息的情况下,根据表名信息对开发文件中模板文件的名称进行变更;在确定模板文件完成名称变更的情况下,根据预设规范对模板文件进行属性信息的选择,其中,属性信息包括以下至少之一:模板文件对应的数据库库名、模板文件在数据库中的分区类型、模板文件当前创建者的信息、模板文件对应的表类型。
为了更好的理解上述数据表的确定方法的过程,以下再结合可选实施例对上述数据表的确定的实现方法流程进行说明,但不用于限定本发明实施例的技术方案。
在本实施例中提供了一种数据表的确定方法,图3是根据本发明可选实施例的数据表的确定方法的时序图,如图3所示,具体如下步骤:
步骤S301:开发者客户端为数据仓库开发人员(相当于本发明实施例中的目标对象),使用浏览器访问网页进入WEB应用(相当于本发明实施例中的目标应用);WEB应用中提供模板文件下载及异构数据字典SQL(相当于本发明实施例中的异构数据字典的结构化查询语言)的生成;
步骤S302:在对应的浏览器客户端上显示模板文件以及数据字典SQL;
步骤S303:将客户端上的数据字典SQL发送至源系统进行查询;获取数据字典SQL之后填写源表的所属库及表名信息,将SQL提交到源系统进行查询,在数据字典SQL中会完成标准的数据类型映射,例如,针对类似mysql数据库中的bit数据类型,SQL会自动进行对数运算计算出hive中数据类型长度,字段顺序会自动根据源系统的字段顺序进行排序;
步骤S304:源系统将数据字典SQL进行数据类型转换得到对应的标准数据字典;源系统将数据字典信息返回给客户端,数据字典中的字段名、数据类型、字段注释的位置坐标已自动和Excel模板文件进行匹配;
步骤S305:源系统将数据字典信息返回给开发者客户端,数据字典中的字段名、数据类型、字段注释的位置坐标已自动和Excel模板文件进行匹配;
在客户端填写Excel模板文件,完成必要的库名、分区、创建者的填写及表类型的选择。Excel模板文件中借助内置的函数,实现命名规范的判定及表名预测。若有仅库名不同的多个表需要创建,则只需要在库名中使用斜杠分割多个库名。若想一次完成多个不同结构表的创建,则只需要在同一Excel模板文件中对工作表sheet进行扩展即可;
步骤S306:将Excel模板文件上传至WEB应用;
步骤S307:WEB应用对Excel模板文件进行保留字检测以及兼容性检测;
步骤S308:在检测通过的情况下,将Excel模板文件转化为用于建立数仓的标准化建表语句,并下发至对应的客户端;
可选的,WEB应用中遍历excel中非隐藏sheet(工作表),识别sheet内容,判定内容结构符合模板规范之后进行表信息相关内容处理。WEB应用中配置有hive保留字清单、数仓开发规范的命名规则及附加字段信息、timestamp(时间戳)数据类型与parquet存储格式的冲突识别功能模块、保留字自动quote引用模块。在完成规范的判断之后将生成的多个标准化的建表语句返回给开发者客户端。
步骤S309:将标准化建表语句发送至Hive数仓中进行对应数仓的建立;将建表语句提交到hive数仓执行,数仓返回执行结果,完成规范化的hive表落地;
步骤S310:将建立结果反馈至客户端显示。
在本实施例中还提供了一种WEB应用数据处理方法,图4是根据本发明可选实施例的WEB应用数据处理的流程图,如图4所示,具体如下步骤:
步骤S401:WEB应用解析用户上传的Excel文件;
步骤S402:读取非隐藏工作表sheet;
步骤S403:判断Excel文件是否符合模板格式;
步骤S404:符合模板格式的情况下,解析工作表sheet内容;
步骤S405:确定是否符合数仓开发规范;
步骤S406:符合数仓开发规范的情况下,进行字段信息遍历;
步骤S407:检测字段名是否属于hive保留字;
步骤S408:字段名属于hive保留字,则对字段进行引用quote;
步骤S409:提示字段存在保留字;
步骤S410:进行附加字段补充;
步骤S411:生成并暂存本工作表sheet建表语句;
步骤S412:判断是否存在未处理的工作表;
步骤S413:在所有工作表都出处理的情况下,向开发者客户端返回标准建表语句。
需要说明的是,上述WEB应用端对上传的excel文件的处理方式,具体特征包括:1)对excel文件的处理采用遍历sheet的方式,过程中会自动识别并跳过隐藏的sheet。帮助开发者客户端实现建表语句的批量生成的同时允许开发者客户端精确控制想处理的具体sheet。2)在遍历sheet时,会从特定坐标中取出库名、表名、表类型、分区的配置信息,并使用数仓开发规范进行校验。3)通过开发规范校验之后会遍历字段。对字段进行保留字校验,完成附加字段补充之后生成并暂存当前sheet的建表语句。4)若存在未处理的sheet则跳转到步骤2)继续处理。待处理完所有sheet数据之后批量将生成的建表语句信息返回给开发者客户端。
作为一种可选的实施方式,如图5所示,为本发明可选实施例的WEB应用的系统架构图;包括以下部分:前端UI 52,部署环境54、基础设施56,需要说明的是,WEB应用逻辑使用python实现,借助open pyxl模块实现excel文件处理,借助re实现数据校验,itertools实现遍历操作,由Flask来构建web应用。前端UI使用传统的HTML、CSS、JS技术栈。
通过上述可选实施例,利用数据表以及对应的WEB应用,在数仓建设的过程中,借助自动映射数据类型的数据字典SQL和数据表实现了数据字典信息的高效处理,使用WEB应用中对模板文件的处理流程及数仓建设规范内置到数据表和WEB应用,实现处理过程高效。字段类型自动映射,无需开发者参照规范对源系统的字段类型进行逐一处理。在处理字段较多的表时对效率的提升尤为明显。以及实现了处理结果准确。为开发人员免除了大量程式化的编码工作,显著降低拼写错误发生的概率,让开发人员即使对开发规范和数仓的技术细节没有完全掌握,也能完成符合规范的开发工作。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
图6是根据本发明实施例的一种数据表的确定装置的结构框图;如图6所示,包括:
获取模块62,用于获取目标应用中的开发文件,其中,所述开发文件用于指示数据表的构建规则,所述开发文件包括:模板文件,异构数据字典的结构化查询语言;
查询模块64,用于接收目标对象的设置指令,根据所述设置指令对所述异构数据字典的结构化查询语言进行查询处理,得到所述异构数据字典的结构化查询语言对应的标准数据字典,其中,所述设置指令包括:源系统的所属数据库信息;
生成模块66,用于将所述标准数据字典同步至所述模板文件中生成数据表,并将所述数据表上传至目标应用得到对应的标准化建表语句。
通过上述装置,获取目标应用中的开发文件,其中,开发文件用于指示数据表的构建规则,开发文件包括:模板文件,异构数据字典的结构化查询语言;接收目标对象的设置指令,根据设置指令对异构数据字典的结构化查询语言进行查询处理,得到异构数据字典的结构化查询语言对应的标准数据字典,其中,设置指令包括:源系统的所属数据库信息;将标准数据字典同步至模板文件中生成数据表,并将数据表上传至目标应用得到对应的标准化建表语句;即通过目标应用对数仓建立的标准规范进行解析,以得到标准规范对应的模板文件,异构数据字典的结构化查询语言,进而通过目标应用对目标对象处理后的模板文件对应的数据表进行处理,确定数据表对应的标准化建表语句进行数仓的建立。采用上述技术方案,解决了无法快速准确的确认建立数仓的数据表,以及通过数据表确定对应的建表语句等问题,进而实现了对于源系统的所属数据库对应数仓的快速建立,并提升了数据字典信息的高效处理,使得数仓的建立规范实现了标准化流程的统一。
可选的,上述模板文件可以电子表格模板,也可以是其他类型的模板,这是根据实际情况灵活确定的,本申请对此不做过多限定。
在一个示例性实施例中,上述查询模块,还用于根据设置指令携带的源系统的所属数据库信息,将异构数据字典的结构化查询语言上传至对应数据库的源系统中进行数据类型映射;将数据库中的数据类型信息、待建立数仓的数据类型信息、数据类型映射的结果进行汇总,以得到异构数据字典的结构化查询语言对应的标准数据字典。
也就是说,在确定异构数据字典的结构化查询语言对应的用于建立数据仓的标准数据字典时,需要确定对待建立数仓的源系统的所属数据库信息,继而根据所属数据库信息对应的数据类型确定出与之对应的数仓中的数据类型,以完成数据类型的映射,进一步将数据库中的数据类型信息、待建立数仓的数据类型信息、数据类型映射的结果进行汇总,确定出异构数据字典的结构化查询语言对应的标准数据字典。
在一个示例性实施例中,上述查询模块,还用于获取异构数据字典的结构化查询语言在数据库中存储时的第一数据类型,并确定第一数据类型的第一字节长度;确定对所述第一字节长度在所述数据库的源系统进行对数运算得到的第二字节长度,其中,所述第二字节长度用于指示所述第一字节长度在数仓中以第二数据类型存储时的长度;根据第二字节长度确定异构数据字典的结构化查询语言在数据库的源系统中进行数据类型映射的结果。
例如,在开发客户端上存在数据字典SQL(相当于本发明实施例中的异构数据字典的结构化查询语言)之后,根据目标对象的发出的设置指令填写源表的所属库及表名信息,将数据字典SQL(Structured Query language,结构化查询语言,简称SQL)提交到源系统进行查询,数据字典SQL中会完成标准的数据类型映射,例如,针对类似MySQL数据库中的bit数据类型,数据字典SQL会自动进行对数运算计算出hive数仓中数据类型长度,字段顺序会自动根据源系统的字段顺序进行排序。
在一个示例性实施例中,上述生成模块,还用于解析标准数据字典,确定标准数据字典中目标字段的位置坐标信息,其中,目标字段包括以下至少之一:标准数据字典中的字段名、标准数据字典中的数据类型、标准数据字典中的字段注释;根据位置坐标信息将目标字段匹配到模板文件中生成数据表。
可以理解的是,为了便于将标准数据字典在对应的模板文件中进行填充,在源系统中进行数据类型映射生成的标准数据字典中的目标字段是存在一定的位置坐标的,进而可以通过与模板文件中默认的坐标位置信息进行匹配,使得可以将标准数据字典快速的填充至模板文件中,得到数据表。例如,将数据字典中位置坐标处的字段复制到模板中对应坐标位置处完成匹配,从而将标准数据字典转化成数据表。
在一个示例性实施例中,上述生成模块,还用于将数据表上传至目标应用,并确定目标应用对于数据表的检测结果,其中,检测结果用于指示所述目标应用中配置的校验参数对所述数据表中内容的识别结果,所述校验参数包括以下至少之一:数据表的保留字清单、数据表的命名规则和/或附加字段信息、数据表的时间戳、数据表的数据类型、数据表的存储格式、数据表的引用字段;在检测结果指示数据表通过目标应用检测的情况下,接收目标应用下发的数据表转化的标准化建表语句。
也就是说,在通过目标应用将数据表转化为对应的用于构建数仓的标准化建表语句时,为了使得转化的标准化建表语句更好的贴合当前数仓,根据待建立的数仓的预设条件的校验参数对数据表进行检测。
可选的,上述预设条件的校验参数包括:hive保留字清单、数仓开发规范的命名规则及附加字段信息、timestamp(时间戳)数据类型与parquet存储格式的冲突识别功能模块、保留字自动quote引用模块,进而通过校验参数确定数据表中对应的内容结构符合模板规范,已读取数据表中的内容转化为标准化建表语句,使用标准化建表语句执行数仓的建立。
可选的,在通过数据表进行数仓建立时,如果出现仅数仓的库名不同的多个数据表需要创建,则只需要在库名中使用斜杠分割多个库名。若想一次完成多个不同结构的数据表的创建,则只需要在同一excel数据表文件中对工作表sheet进行扩展即可。
在一个示例性实施例中,上述装置还包括:执行模块,用于将标准化建表语句提交至数仓中进行执行,并获取数仓执行标准化建表语句的执行结果;在执行结果指示标准化建表语句对应的目标数仓已成功建立的情况下,生成提示信息,其中,提示信息用于提示目标对象数据表对应的目标数仓已成功建立。
在一个示例性实施例中,上述装置还包括:变更模块,用于在设置指令还包括表名信息的情况下,根据表名信息对开发文件中模板文件的名称进行变更;在确定模板文件完成名称变更的情况下,根据预设规范对模板文件进行属性信息的选择,其中,属性信息包括以下至少之一:模板文件对应的数据库库名、模板文件在数据库中的分区类型、模板文件当前创建者的信息、模板文件对应的表类型。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,获取目标应用中的开发文件,其中,所述开发文件用于指示数据表的构建规则,所述开发文件包括:模板文件,异构数据字典的结构化查询语言;
S2,接收目标对象的设置指令,根据所述设置指令对所述异构数据字典的结构化查询语言进行查询处理,得到所述异构数据字典的结构化查询语言对应的标准数据字典,其中,所述设置指令包括:源系统的所属数据库信息;
S3,将所述标准数据字典同步至所述模板文件中生成数据表,并将所述数据表上传至目标应用得到对应的标准化建表语句。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标应用中的开发文件,其中,所述开发文件用于指示数据表的构建规则,所述开发文件包括:模板文件,异构数据字典的结构化查询语言;
S2,接收目标对象的设置指令,根据所述设置指令对所述异构数据字典的结构化查询语言进行查询处理,得到所述异构数据字典的结构化查询语言对应的标准数据字典,其中,所述设置指令包括:源系统的所属数据库信息;
S3,将所述标准数据字典同步至所述模板文件中生成数据表,并将所述数据表上传至目标应用得到对应的标准化建表语句。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据表的确定方法,其特征在于,包括:
获取目标应用中的开发文件,其中,所述开发文件用于指示数据表的构建规则,所述开发文件包括:模板文件,异构数据字典的结构化查询语言;
接收目标对象的设置指令,根据所述设置指令对所述异构数据字典的结构化查询语言进行查询处理,得到所述异构数据字典的结构化查询语言对应的标准数据字典,其中,所述设置指令包括:源系统的所属数据库信息;
将所述标准数据字典同步至所述模板文件中生成数据表,并将所述数据表上传至目标应用得到对应的标准化建表语句。
2.根据权利要求1所述的数据表的确定方法,其特征在于,接收目标对象的设置指令,根据所述设置指令对所述异构数据字典的结构化查询语言进行查询处理,得到所述异构数据字典的结构化查询语言对应的标准数据字典,包括:
根据所述设置指令携带的所述源系统的所属数据库信息,将所述异构数据字典的结构化查询语言上传至对应数据库的源系统中进行数据类型映射;
将所述数据库中的数据类型信息、待建立数仓的数据类型信息、所述数据类型映射的结果进行汇总,以得到所述异构数据字典的结构化查询语言对应的标准数据字典。
3.根据权利要求2所述的数据表的确定方法,其特征在于,根据所述设置指令携带的所述源系统的所属数据库信息,将所述异构数据字典的结构化查询语言上传至对应数据库的源系统中进行数据类型映射,包括:
获取所述异构数据字典的结构化查询语言在数据库中存储时的第一数据类型,并确定所述第一数据类型的第一字节长度;
确定对所述第一字节长度在所述数据库的源系统进行对数运算得到的第二字节长度,其中,所述第二字节长度用于指示所述第一字节长度在数仓中以第二数据类型存储时的长度;
根据所述第二字节长度确定所述异构数据字典的结构化查询语言在数据库的所述源系统中进行数据类型映射的结果。
4.根据权利要求1所述的数据表的确定方法,其特征在于,将所述标准数据字典同步至所述模板文件中生成数据表,包括:
解析所述标准数据字典,确定所述标准数据字典中目标字段的位置坐标信息,其中,所述目标字段包括以下至少之一:所述标准数据字典中的字段名、所述标准数据字典中的数据类型、所述标准数据字典中的字段注释;
根据所述位置坐标信息将所述目标字段匹配到所述模板文件中生成数据表。
5.根据权利要求1所述的数据表的确定方法,其特征在于,将所述数据表上传至目标应用得到对应的标准化建表语句,包括:
将所述数据表上传至所述目标应用,并确定所述目标应用对于所述数据表的检测结果,其中,所述检测结果用于指示所述目标应用中配置的校验参数对所述数据表中内容的识别结果,所述校验参数包括以下至少之一:数据表的保留字清单、数据表的命名规则和/或附加字段信息、数据表的时间戳、数据表的数据类型、数据表的存储格式、数据表的引用字段;
在所述检测结果指示所述数据表通过所述目标应用检测的情况下,接收所述目标应用下发的所述数据表转化的标准化建表语句。
6.根据权利要求5所述的数据表的确定方法,其特征在于,接收所述目标应用下发的所述数据表转化的标准化建表语句之后,所述方法还包括:
将所述标准化建表语句提交至数仓中进行执行,并获取所述数仓执行所述标准化建表语句的执行结果;
在所述执行结果指示所述标准化建表语句对应的目标数仓已成功建立的情况下,生成提示信息,其中,所述提示信息用于提示目标对象所述数据表对应的目标数仓已成功建立。
7.根据权利要求1所述的数据表的确定方法,其特征在于,获取目标应用中的开发文件之后,所述方法还包括:
在所述设置指令还包括表名信息的情况下,根据所述表名信息对所述开发文件中模板文件的名称进行变更;
在确定所述模板文件完成名称变更的情况下,根据预设规范对所述模板文件进行属性信息的选择,其中,所述属性信息包括以下至少之一:所述模板文件对应的数据库库名、所述模板文件在数据库中的分区类型、所述模板文件当前创建者的信息、所述模板文件对应的表类型。
8.一种数据表的确定装置,其特征在于,包括:
获取模块,用于获取目标应用中的开发文件,其中,所述开发文件用于指示数据表的构建规则,所述开发文件包括:模板文件,异构数据字典的结构化查询语言;
查询模块,用于接收目标对象的设置指令,根据所述设置指令对所述异构数据字典的结构化查询语言进行查询处理,得到所述异构数据字典的结构化查询语言对应的标准数据字典,其中,所述设置指令包括:源系统的所属数据库信息;
生成模块,用于将所述标准数据字典同步至所述模板文件中生成数据表,并将所述数据表上传至目标应用得到对应的标准化建表语句。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
CN202111547753.0A 2021-12-16 2021-12-16 数据表的确定方法和装置、存储介质及电子装置 Pending CN114253973A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111547753.0A CN114253973A (zh) 2021-12-16 2021-12-16 数据表的确定方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111547753.0A CN114253973A (zh) 2021-12-16 2021-12-16 数据表的确定方法和装置、存储介质及电子装置

Publications (1)

Publication Number Publication Date
CN114253973A true CN114253973A (zh) 2022-03-29

Family

ID=80795464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111547753.0A Pending CN114253973A (zh) 2021-12-16 2021-12-16 数据表的确定方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN114253973A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115982137A (zh) * 2023-03-17 2023-04-18 鲁班(北京)电子商务科技有限公司 一种数据名称和数据库建表生成方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115982137A (zh) * 2023-03-17 2023-04-18 鲁班(北京)电子商务科技有限公司 一种数据名称和数据库建表生成方法及系统

Similar Documents

Publication Publication Date Title
CN110287109B (zh) 协议接口的测试方法、装置、计算机设备及其存储介质
CN111160045B (zh) 一种游戏资源文件翻译方法、装置及设备
US20220222447A1 (en) Translation method and apparatus, electronic device, and computer-readable storage medium
CN112800095A (zh) 一种数据处理方法、装置、设备及存储介质
CN111722839A (zh) 一种代码生成方法、装置、电子设备及存储介质
CN110705226A (zh) 电子表格的创建方法、装置及计算机设备
CN111126058B (zh) 文本信息自动抽取方法、装置、可读存储介质和电子设备
CN114064601B (zh) 存储过程转换方法、装置、设备和存储介质
CN114253973A (zh) 数据表的确定方法和装置、存储介质及电子装置
CN115599359A (zh) 一种代码生成方法、装置、设备及介质
CN110990350B (zh) 日志的解析方法及装置
CN110427470B (zh) 问答处理方法、装置及电子设备
CN115712422A (zh) 表单页面的生成方法、装置、计算机设备及存储介质
CN117667979B (zh) 基于大语言模型的数据挖掘方法、装置、设备及介质
CN114896161A (zh) 基于人工智能的文件构造方法、装置、计算机设备及介质
CN114721932A (zh) 一种数据处理方法、装置、设备及存储介质
CN116166533A (zh) 接口测试方法、装置、终端设备以及存储介质
CN113254455B (zh) 数据库的动态配置方法、装置、计算机设备及存储介质
CN111143643B (zh) 元素识别方法、装置、可读存储介质和电子设备
CN110019177A (zh) 规则存储的方法和装置
CN114493360A (zh) 基于rpa和ai的流程创意评估方法、装置、设备及介质
CN113127352A (zh) 一种自动化用例的统计方法、装置及计算机可读存储介质
CN113434612B (zh) 数据统计方法及装置、存储介质及电子装置
CN110955433B (zh) 一种自动化部署脚本的生成方法及装置
CN111538714B (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