CN113486050A - 报表生成的方法、装置、电子设备和可读存储介质 - Google Patents
报表生成的方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN113486050A CN113486050A CN202111046955.7A CN202111046955A CN113486050A CN 113486050 A CN113486050 A CN 113486050A CN 202111046955 A CN202111046955 A CN 202111046955A CN 113486050 A CN113486050 A CN 113486050A
- Authority
- CN
- China
- Prior art keywords
- report
- mysql
- parameter information
- hive
- generating
- 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
- G06F16/2433—Query languages
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及数据处理技术领域,实施例提供公开了报表生成的方法、装置、电子设备和可读存储介质,该方法包括获取目标业务对应的Hive语法树结构;对Hive语法树结构进行解析,获得报表参数信息;根据报表参数信息,生成用于创建报表的MySQL建表语句;将MySQL建表语句发送至MySQL中,以使MySQL根据MySQL建表语句生成报表。这样,通过Hive语法树结构生成报表,能够提高生成报表的稳定性。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及报表生成的方法、装置、电子设备和可读存储介质。
背景技术
数据仓库工具(Hive)是基于Hadoop集群的一个数据仓库工具,用于对数据进行提取、转化以及加载。在数据存储时,通常需要将Hive中的业务数据拉取到关系型数据库管理系统(MySQL)中。
在将Hive中的业务数据拉取到MySQL时,通常先采用人工自定义的方式,创建业务数据相应的报表,并通过该报表,将业务数据转存到MySQL。
但是,当结构化查询语言(Structured Query Language,SQL)比较复杂时,由于自定义生成的报表的错误率较高,使得报表解析报错的频率较高,报表的稳定性较差。
因此,在将Hive中的业务数据拉取到MySQL的过程中,如何提高报表的稳定性,是一个需要解决的问题。
发明内容
本申请实施例的目的在于提供报表生成的方法、装置、电子设备和可读存储介质,用以在将Hive中的业务数据拉取到MySQL的过程中,提高报表的稳定性。
第一方面,本申请实施例提供一种报表生成的方法,该方法包括:
获取目标业务对应的Hive语法树结构。
对Hive语法树结构进行解析,获得报表参数信息。
根据报表参数信息,生成用于创建报表的MySQL建表语句。
将MySQL建表语句发送至MySQL中,以使MySQL根据MySQL建表语句生成报表。
在上述实现过程中,通过对Hive语法树结构进行解析,获得报表参数信息,进一步,根据报表参数信息生成MySQL建表语句,并将MySQL建表语句发送至MySQL中,以使MySQL根据MySQL建表语句生成报表,由于MySQL建表语句是根据hive语法树结构解析后的报表参数信息生成的,因此,在MySQL生成的报表能够与Hive契合,从而提高了报表的稳定性。
结合第一方面,在一种实施方式中,对Hive语法树结构进行解析,获得报表参数信息,包括:
将Hive语法树结构进行解析,获得类json数据结构。
对类json数据结构进行正则匹配,获得报表参数信息。
在上述实现过程中,通过对hive语法树结构进行解析,从而获得类json数据结构,通过类json数据结构能够方便的获取到报表参数信息,从而减少了开发人员在报表生成过程中的工作量。
结合第一方面,在一种实施方式中,根据报表参数信息,生成用于创建报表的MySQL建表语句,包括:
获取报表参数信息中的报表维度以及指标。
根据报表维度以及指标,生成MySQL建表语句。
在上述实现过程中,根据报表参数信息中的报表维度以及指标生成MySQL建表语句,便于MySQL能够直接根据MySQL建表语句生成报表。
结合第一方面,在一种实施方式中,根据报表维度以及指标,生成MySQL建表语句,包括:
根据报表维度以及指标,生成初始报表。
将初始报表发送至显示单元,以使用户对显示单元显示的初始报表进行操作。
确定接收到用户针对初始报表的报表修改指令时,根据报表修改指令,生成MySQL建表语句。
在上述实现过程中,根据用户的报表修改指令生成MySQL建表语句,使最终生成的报表能够满足用户的业务需求。
结合第一方面,在一种实施方式中,方法还包括:
获取报表参数信息中还包含的依赖表的标识信息,依赖表用于存储目标业务的数据。
根据依赖表的标识信息,周期性地将依赖表中的目标业务的数据发送至MySQL中,使得MySQL将接收的目标业务的数据存储至MySQL的报表中。
在上述实现过程中,根据依赖表的标识信息,将目标业务的数据存储至MySQL的报表中,从而实现了目标业务的数据的存储。
第二方面,本申请实施例提供了一种报表生成的装置,该装置包括:
获取单元,用于获取目标业务对应的Hive语法树结构。
解析单元,用于对Hive语法树结构进行解析,获得报表参数信息。
生成单元,用于根据报表参数信息,生成用于创建报表的MySQL建表语句。
发送单元,用于将MySQL建表语句发送至MySQL中,以使MySQL根据MySQL建表语句生成报表。
结合第二方面,在一种实施方式中,解析单元具体用于:
将Hive语法树结构进行解析,获得类json数据结构。
对类json数据结构进行正则匹配,获得报表参数信息。
结合第二方面,在一种实施方式中,生成单元具体用于:
获取报表参数信息中的报表维度以及指标。
根据报表维度以及指标,生成MySQL建表语句。
结合第二方面,在一种实施方式中,生成单元还用于:
根据报表维度以及指标,生成初始报表。
将初始报表发送至显示单元,以使用户对显示单元显示的初始报表进行操作。
确定接收到用户针对初始报表的报表修改指令时,根据报表修改指令,生成MySQL建表语句。
结合第二方面,在一种实施方式中,生成单元还用于:
获取报表参数信息中还包含的依赖表的标识信息,依赖表用于存储目标业务的数据;
根据依赖表的标识信息,周期性地将依赖表中的目标业务的数据发送至MySQL中,使得MySQL将接收的目标业务的数据存储至MySQL的报表中。
第三方面,本申请实施例提供了一种电子设备,包括:
处理器、存储器和总线,处理器通过总线与存储器相连,存储器存储有计算机可读取指令,当计算机可读取指令由处理器执行时,用于实现如上述第一方面的任一实施方式提供的方法中的步骤。
第四方面,一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面的任一实施方式提供的方法中的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种报表生成的方法流程图;
图2为本申请实施例提供的一种初始报表示例图;
图3为本申请实施例提供的一种报表生成的装置结构框图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
首先对本申请实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
终端设备:可以是移动终端、固定终端或便携式终端,例如移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统设备、个人导航设备、个人数字助理、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,终端设备能够支持任意类型的针对用户的接口(例如可穿戴设备)等。
服务器:可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云计算服务的云服务器。
在利用Hive开发报表的过程中,通常需要从Hive中拉取数据,存到MySQL中,然后在前端展示,在存到MySQL前需要创建对应的报表,开发人员通常采用自定义解析SQL的方法创建报表。
但是,当SQL比较复杂时,采用自定义解析SQL的方法创建的报表,很难做到与hive语法完全契合,经常会出现解析出来的报表不是自己想要建的报表,且容易出现报错,导致报表的稳定性较低。
由此,本申请提供了报表生成的方法、装置、电子设备和可读存储介质,用以在报表开发过程中,提高报表的稳定性。
本申请实施例中,该方法的执行主体可以为电子设备,可选的,电子设备可以是服务器,也可以是终端设备,但本申请不限于此。
请参照图1,图1为本申请实施例提供的一种报表生成的方法流程图,图1所示的方法具体实施流程如下:
步骤101:获取目标业务对应的Hive语法树结构。
具体的,用户在电子设备中编辑hive查询语言(Hibernate Query Language,hql),通过编辑的hql从hive中获取目标业务对应的Hive语法树结构。
作为一种实施例,用户对源码进行编译,修改源码的抽象语法树节点(ASTNode)类,使hive解析后的语法树由原来的树状结构变为类json的结构。
例如,在本地安装hive客户端,电子设备编译hive客户端源码,找到ASTNode类中的转储(dump)方法,源码的dump方法的解析逻辑为换行逻辑(\n),此逻辑的语法树处理结果为:
TOK_QUERY
TOK_FROM
TOK_LEFTOUTERJOIN
TOK_TABREF
TOK_TABNAME
Temp
进一步,通过修改hive源码的dump方法用“()”替换\n。
进一步地,用户根据目标业务的要求,对目标业务进行配置,获得配置信息。例如,用户根据目标业务的要求定义hive查询语言(Hibernate Query Language,hql),对定义的hql做初步解析,例如,替换时间变量、不同维度的多表创建,以及指标定义等,形成一个可在hive中正常运行的sql,然后在此sql前增加explain extend,使sql变成explain extend$sql。
进一步地,电子设备将上述explain extend $sql发送至hive客户端,使hive客户端运行explain extend $sql,从而使hive客户端生成Hive语法树结构,并将该Hive语法树结构发送至电子设备,电子设备则获取目标业务对应的Hive语法树结构。
需要说明的是,本申请实施例中,hive客户端的版本可以是hive0.8.0,可以是hive0.9.0,也可以是hive1.0,也可以是hive1.1,也可以是其他版本,在此不作限制。
在上述实现过程中,通过对源码进行格式转换,便于后续过程中,使解析后的语法树结构能够便利地获取报表参数信息,从而减少开发人员的工作量。
步骤102:对Hive语法树结构进行解析,获得报表参数信息。
具体的,在执行步骤102时,可以采用以下步骤:
步骤一:将Hive语法树结构进行解析,获得类json数据结构。
步骤二:对类json数据结构进行正则匹配,获得报表参数信息。
具体的,对获取的Hive语法树结构进行解析,生成一个类json数据结构的返回体,该返回体的数据结构为类json数据结构。
进一步地,通过关键词key从该类json数据结构中获得报表参数信息。
需要说明的是,json数据结构是一种轻量级的,基于文本的数据交换格式,仅靠特定的字符格式就能很方便的传递字符信息,类json数据结构是指与json数据结构类似的数据结构。
作为一种实施例,对获取的Hive语法树结构进行解析,产生的类json数据结构的返回体结构如下:
ABSTRACT SYNTAX TREE:
(TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME qschou_prod dwd_sensors_log_d )))(TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE ))(TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL os ))(TOK_SELEXPR (TOK_TABLE_OR_COLpagename ))(TOK_SELEXPR (TOK_TABLE_OR_COL dt ))(TOK_SELEXPR (TOK_TABLE_OR_COLGROUPING__ID ))(TOK_SELEXPR (TOK_FUNCTION count 1 )cnt ))(TOK_WHERE (= (TOK_TABLE_OR_COL dt )'$DATE(0)' ))(TOK_GROUPING_SETS (TOK_TABLE_OR_COL os )(TOK_TABLE_OR_COL pagename )(TOK_TABLE_OR_COL dt )(TOK_GROUPING_SETS_EXPRESSION(TOK_TABLE_OR_COL os )(TOK_TABLE_OR_COL pagename )(TOK_TABLE_OR_COL dt ))(TOK_GROUPING_SETS_EXPRESSION (TOK_TABLE_OR_COL os )(TOK_TABLE_OR_COL dt ))(TOK_GROUPING_SETS_EXPRESSION (TOK_TABLE_OR_COL os )))))
进一步,对该类json数据结构的返回体进行正则匹配,获得报表参数信息,例如,通过关键词key,从上述返回体结构中获取的依赖表为TOK_TABNAME后对应的字段,获取的维度为TOK_TABLE_OR_COL后对应的字段,获取每张表的维度组合为TOK_GROUPING_SETS_EXPRESSION后对应的字段,获取的指标为TOK_FUNCTION后对应的字段。
在上述实现过程中,通过对hive语法树结构进行解析,获得类json数据结构,并通过类json数据结构能够方便的获取到报表参数信息,从而减少了开发人员在报表生成过程中的工作量。
步骤103:根据报表参数信息,生成用于创建报表的MySQL建表语句。
具体的,在执行步骤103时,可以采用以下步骤:
步骤一:获取报表参数信息中的报表维度以及指标。
具体的,通过步骤102获得报表参数信息,其中,报表参数信息可以包括报表维度、指标、依赖表以及维度组合等信息。
步骤二:根据报表维度以及指标,生成MySQL建表语句。
具体的,在执行步骤二时,可以采用以下方式中的任意一种:
方式一:根据报表维度以及指标,生成MySQL建表语句。
作为一种实施例,通过步骤102获得报表参数信息,其中,报表参数信息可以包括报表维度、指标、依赖表以及维度组合等信息。
进一步根据获取的报表维度以及指标,生成MySQL建表语句。
在上述实现过程中,根据报表参数信息中的报表维度以及指标生成MySQL建表语句,便于MySQL能够直接根据MySQL建表语句生成报表。
方式二:根据用户的报表修改指令生成MySQL建表语句。
具体的,在执行方式二时,可以采用以下步骤:
第一步:根据报表维度以及指标,生成初始报表。
第二步:将初始报表发送至显示单元,以使用户对显示单元显示的初始报表进行操作。
第三步:确定接收到用户针对初始报表的报表修改指令时,根据报表修改指令,生成MySQL建表语句。
作为一种实施例,根据获取的报表维度以及指标,生成初始报表,并将该初始报表发送至前端的显示单元,用户可根据业务逻辑通过显示单元对初始报表进行查看或操作。
需要说明的是,对初始报表进行操作可以是对初始报表进行修改,也可以是对初始报表进行确认,也可以是对初始报表进行修改和确认,但本申请不限于此。
当用户查看到显示单元上的初始报表的数据类型不满足自己的要求时,用户对初始报表进行修改。例如,若初始报表中的报表维度不满足用户要求,则用户对报表维度进行修改;若初始报表中的指标不满足用户要求,则用户对指标进行修改;若初始报表中的报表维度和指标都不满足用户要求,则用户对报表维度和指标进行修改。从而获得用户针对报表维度和/或指标的修改信息。
请参照图2,图2为本申请实施例提供的一种初始报表示例图,如图2所示,根据报表参数信息生成的报表维度、指标以及维度组合的展示形式。
其中,报表维度(dimensions)中包括:时间(time)、区域(region)以及系统(system)三个维度;指标(metrics)中包括:价格(cost)指标;维度组合中(dim_sets)包括:(time,region,system)三个维度形成的维度组合以及(time,system)两个维度形成的维度组合。
进一步地,确定接收到用户针对初始报表的报表修改指令时,判断电子设备中是否存在修改后的报表,若有,则直接将已经存在的修改后的报表作为MySQL报表,后续将该MySQL报表发送至MySQL中。
若没有,则根据修改指令中的修改信息构建MySQL建表语句,例如,将表信息拼接成CREATE TABLE table_name (column_name column_type)的建表语句,其中,column_name即为用户增加的指标名称,column_type为用户增加的报表维度。
在上述实现过程中,根据用户的报表修改指令生成MySQL建表语句,使最终生成的报表能够满足用户的业务需求。
步骤104:将MySQL建表语句发送至MySQL中,以使MySQL根据MySQL建表语句生成报表。
具体的,电子设备生成MySQL建表语句后,将MySQL建表语句发送至MySQL,MySQL根据接收的MySQL建表语句生成报表。
进一步,在步骤104生成报表之后,将业务数据转存至MySQL的报表中还可以采用以下步骤:
第一步:获取报表参数信息中还包含的依赖表的标识信息,其中,依赖表用于存储目标业务的数据。
具体的,依赖表是hive客户端中,用于存储目标业务的数据,获取报表参数信息中还包含的依赖表的标识信息。
第二步:根据依赖表的标识信息,周期性地将依赖表中的目标业务的数据发送至MySQL中,使得MySQL将接收的目标业务的数据存储至MySQL的报表中。
作为一种实施例,获取报表参数信息中还包含的依赖表的名称,进一步地,每日从hive客户端中获取该依赖表的名称中的目标业务的数据,并将获取的目标业务的数据发送至MySQL中,使得MySQL将接收的目标业务的数据存储至MySQL的报表中。
需要说明的是,本申请实施例中,依赖表的标识信息仅以依赖表的名称为例进行说明,在实际应用中,依赖表的标识信息也可以是依赖表的编号,本申请不限于此,周期仅以每日为例进行说明,在实际应用中,周期也可以是每小时,也可以是每两天,也可以其他时长,本申请不限于此。
在上述实现过程中,根据依赖表的标识信息从hive客户端中获取目标业务的数据,并将获取目标业务的数据发送至MySQL,从而便于MySQL将接收的目标业务的数据存储至报表中,从而实现了目标业务数据的转存。
在上述实现过程中,通过对Hive语法树结构进行解析,获得报表参数信息,进一步,根据报表参数信息生成MySQL建表语句,并将MySQL建表语句发送至MySQL中,以使MySQL根据MySQL建表语句生成报表,由于MySQL建表语句是根据hive语法树结构解析后的报表参数信息生成的,因此,在MySQL生成的报表能够与Hive契合,能够有效地确保Hive的数据的结构与MySQL的数据的一致性,从而提高了报表的稳定性。
参照图3,图3为本申请实施例提供的一种报表生成的装置结构框图,该装置300,可应用于Hive中,该装置300包括:
获取单元301,用于获取目标业务对应的Hive语法树结构。
解析单元302,用于对Hive语法树结构进行解析,获得报表参数信息。
生成单元303,用于根据报表参数信息,生成用于创建报表的MySQL建表语句。
发送单元304,用于将MySQL建表语句发送至MySQL中,以使MySQL根据MySQL建表语句生成报表。
结合第二方面,在一种实施方式中,解析单元302具体用于:
将Hive语法树结构进行解析,获得类json数据结构。
对类json数据结构进行正则匹配,获得报表参数信息。
结合第二方面,在一种实施方式中,生成单元303具体用于:
获取报表参数信息中的报表维度以及指标。
根据报表维度以及指标,生成MySQL建表语句。
结合第二方面,在一种实施方式中,生成单元303还用于:
根据报表维度以及指标,生成初始报表。
将初始报表发送至显示单元,以使用户对显示单元显示的初始报表进行操作。
确定接收到用户针对初始报表的报表修改指令时,根据报表修改指令,生成MySQL建表语句。
结合第二方面,在一种实施方式中,生成单元303还用于:
获取报表参数信息中还包含的依赖表的标识信息,依赖表用于存储目标业务的数据。
根据依赖表的标识信息,周期性地将依赖表中的目标业务的数据发送至MySQL中,使得MySQL将接收的目标业务的数据存储至MySQL的报表中。
需要说明的是,图3所示的装置300,能够实现图1方法实施例中方法的各个过程。装置300中的各个单元的操作和/或功能,分别为了实现图1中的方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
请参照图4,图4为本申请实施例提供的一种电子设备的结构示意图,图4所示的电子设备400可以包括:至少一个处理器410,例如CPU,至少一个通信接口420,至少一个存储器430和至少一个通信总线440。其中,通信总线440用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口420用于与其他节点设备进行信令或数据的通信。存储器430可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器430可选的还可以是至少一个位于远离前述处理器的存储装置。存储器430中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器410执行时,电子设备执行上述图1所示方法过程。
本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现图1所示的方法过程。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述系统装置的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个装置或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种报表生成的方法,其特征在于,所述方法包括:
获取目标业务对应的Hive语法树结构;
对所述Hive语法树结构进行解析,获得报表参数信息;
根据所述报表参数信息,生成用于创建报表的MySQL建表语句;
将所述MySQL建表语句发送至MySQL中,以使所述MySQL根据所述MySQL建表语句生成报表。
2.根据权利要求1所述的方法,其特征在于,所述对所述Hive语法树结构进行解析,获得报表参数信息,包括:
将所述Hive语法树结构进行解析,获得类json数据结构;
对所述类json数据结构进行正则匹配,获得所述报表参数信息。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述报表参数信息,生成用于创建报表的MySQL建表语句,包括:
获取所述报表参数信息中的报表维度以及指标;
根据所述报表维度以及所述指标,生成所述MySQL建表语句。
4.根据权利要求3所述的方法,其特征在于,所述根据所述报表维度以及所述指标,生成所述MySQL建表语句,包括:
根据所述报表维度以及所述指标,生成初始报表;
将所述初始报表发送至显示单元,以使用户对所述显示单元显示的所述初始报表进行操作;
确定接收到用户针对所述初始报表的报表修改指令时,根据所述报表修改指令,生成所述MySQL建表语句。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
获取所述报表参数信息中还包含的依赖表的标识信息,所述依赖表用于存储所述目标业务的数据;
根据所述依赖表的标识信息,周期性地将所述依赖表中的所述目标业务的数据发送至所述MySQL中,使得所述MySQL将接收的目标业务的数据存储至所述MySQL的报表中。
6.一种报表生成的装置,其特征在于,所述装置包括:
获取单元,用于获取目标业务对应的Hive语法树结构;
解析单元,用于对所述Hive语法树结构进行解析,获得报表参数信息;
生成单元,用于根据所述报表参数信息,生成用于创建报表的MySQL建表语句;
发送单元,用于将所述MySQL建表语句发送至MySQL中,以使所述MySQL根据所述MySQL建表语句生成报表。
7.根据权利要求6所述的装置,其特征在于,所述解析单元具体用于:
将所述Hive语法树结构进行解析,获得类json数据结构;
对所述类json数据结构进行正则匹配,获得所述报表参数信息。
8.根据权利要求6或7所述的装置,其特征在于,所述生成单元具体用于:
获取所述报表参数信息中的报表维度以及指标;
根据所述报表维度以及所述指标,生成所述MySQL建表语句。
9.一种电子设备,其特征在于,包括:
处理器、存储器和总线,所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如权利要求1-5中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111046955.7A CN113486050A (zh) | 2021-09-08 | 2021-09-08 | 报表生成的方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111046955.7A CN113486050A (zh) | 2021-09-08 | 2021-09-08 | 报表生成的方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113486050A true CN113486050A (zh) | 2021-10-08 |
Family
ID=77946702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111046955.7A Pending CN113486050A (zh) | 2021-09-08 | 2021-09-08 | 报表生成的方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113486050A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710703A (zh) * | 2019-01-03 | 2019-05-03 | 北京顺丰同城科技有限公司 | 一种血缘关系网络的生成方法及装置 |
US20190260764A1 (en) * | 2018-02-20 | 2019-08-22 | Darktrace Limited | Autonomous report composer |
CN113342821A (zh) * | 2021-06-29 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 报表配置方法、装置、设备及计算机存储介质 |
-
2021
- 2021-09-08 CN CN202111046955.7A patent/CN113486050A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190260764A1 (en) * | 2018-02-20 | 2019-08-22 | Darktrace Limited | Autonomous report composer |
CN109710703A (zh) * | 2019-01-03 | 2019-05-03 | 北京顺丰同城科技有限公司 | 一种血缘关系网络的生成方法及装置 |
CN113342821A (zh) * | 2021-06-29 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 报表配置方法、装置、设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704479A (zh) | 任务处理方法、装置、电子设备及存储介质 | |
US8433687B1 (en) | Off-line indexing for client-based software development tools | |
CN109522341B (zh) | 实现基于sql的流式数据处理引擎的方法、装置、设备 | |
US20150143355A1 (en) | Service oriented architecture version and dependency control | |
US9378226B1 (en) | Method and system for a user-defined field type | |
CN111708805A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN113076729B (zh) | 用于报表导入的方法及系统、可读存储介质及电子设备 | |
CN107515866B (zh) | 一种数据操作方法、装置和系统 | |
CN113760948A (zh) | 一种数据查询的方法及装置 | |
CN114036425A (zh) | 页面访问方法、客户端、服务端及系统 | |
CN115016784B (zh) | 低代码应用复用方法、应用解析系统、设备及存储介质 | |
CN112130830B (zh) | 接口生成方法、装置及电子设备 | |
CN111125064A (zh) | 一种生成数据库模式定义语句的方法和装置 | |
US20170012818A1 (en) | Automatically Discovering Topology Of An Information Technology (IT) Infrastructure | |
CN110308907B (zh) | 数据转换方法、装置、存储介质及电子设备 | |
CN110705271A (zh) | 一种提供自然语言处理服务的系统及方法 | |
CN113900944A (zh) | 一种应用于Flink SQL的逻辑验证方法和装置 | |
US20140149856A1 (en) | Unified social content platform | |
CN110555178B (zh) | 数据代理方法及装置 | |
CN112905178A (zh) | 业务功能页面生成方法、装置、设备及介质 | |
CA3140845A1 (en) | Query generation using natural language input | |
WO2023164294A1 (en) | Query splitter for an inverted index datastore | |
CN113127776A (zh) | 面包屑路径生成方法、装置及终端设备 | |
CN111352963A (zh) | 一种数据统计方法及装置 | |
CN113486050A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211008 |
|
RJ01 | Rejection of invention patent application after publication |