掌桥专利:专业的专利平台
掌桥专利
首页

网页端调试执行Flink SQL文本的方法

文献发布时间:2023-06-19 16:04:54



技术领域

本发明属于计算机信息处理技术领域,具体涉及一种网页端调试执行Flink SQL文本的方法。

背景技术

现有技术中,Flink SQL调试执行方案流程为:1)在本地编辑器中编辑Flink SQL文本;2)将Flink SQL文本上传至服务器,再由服务器将Flink SQL文本提交到Flink集群,通过Flink集群执行运行Flink SQL文本的Flink任务;3)Flink任务成功运行后,Flink UI页面中查看Flink SQL文本的运行日志。

上述Flink SQL调试执行方案,存在以下缺陷:

1)调试执行Flink SQL的流程繁琐:在调试执行Flink SQL时,需要手动在多端进行操作,流程繁琐。

2)在调试执行Flink SQL时,需要手动对Flink SQL进行适配:具体的,为了能够在Flink UI页面中查看Flink SQL语句的实际输出结果,需要在本地编辑器中编辑Flink SQL文本时,对Flink SQL文本中的输出源的连接器进行替换,将Flink SQL文本中的输出源的原连接器,替换为与Flink UI页面对应的新连接器,才能使Flink UI页面中能够查看FlinkSQL语句的实际输出结果。因此,在本地编辑器中,需要手动对Flink SQL语句进行修改,易出现修改错误的问题,导致实际调试执行的Flink SQL语句,与实际最终上线的Flink SQL语句逻辑不一致,由此导致并未对实际最终上线的Flink SQL语句进行调试,出现漏调试的现象。

发明内容

针对现有技术存在的缺陷,本发明提供一种网页端调试执行Flink SQL文本的方法,可有效解决上述问题。

本发明采用的技术方案如下:

本发明提供一种网页端调试执行Flink SQL文本的方法,包括以下步骤:

步骤1,配置调试平台;所述调试平台包括网页端模块、接入服务模块和Flink数据服务模块;

步骤2,所述网页端模块配置交互式的图形用户界面,在所述图形用户界面中编辑Flink SQL文本,得到需要进行调试的Flink SQL文本;其中,所述Flink SQL文本包括三类Flink SQL语句,分别为:1)数据源定义类型Flink SQL语句,包含数据源标识、数据源表结构、数据源连接器标识和数据源数据库地址;2)输出源定义类型Flink SQL语句,包含输出源标识、输出源表结构、输出源连接器标识和输出源数据库地址;3)数据处理类型FlinkSQL语句,用于描述采用特定策略对数据源进行数据处理,并将数据处理结果存储到输出源;

步骤3,所述网页端模块向所述接入服务模块发起调试执行Flink SQL文本的请求;其中,所述调试执行Flink SQL文本的请求中,携带步骤2编辑完成的所述Flink SQL文本;

步骤4,所述接入服务模块配置Flink SQL解析接口,通过所述Flink SQL解析接口,对所述Flink SQL文本进行校验与解析,解析出所述Flink SQL文本中的输出源定义类型Flink SQL语句,并对所述输出源定义类型Flink SQL语句进行进一步解析,得到输出源标识和输出源表结构;

步骤5,所述接入服务模块执行以下两个操作:

操作一:所述接入服务模块将解析出的所述输出源标识和输出源表结构返回给所述网页端模块,所述网页端模块在本地渲染出各个输出源标识对应的输出源表结构;然后执行步骤9;

操作二:所述接入服务模块,通过自身配置的Flink任务提交接口,向所述Flink数据服务模块提交执行所述Flink SQL文本的Flink任务;然后,执行步骤6;

步骤6,所述Flink数据服务模块接收到所述Flink任务后,解析出所述Flink SQL文本的三类Flink SQL语句,包括:数据源定义类型Flink SQL语句、输出源定义类型FlinkSQL语句和数据处理类型Flink SQL语句;

然后,所述Flink数据服务模块对所述输出源定义类型Flink SQL语句进行FlinkSQL适配,适配方法为:将所述输出源定义类型Flink SQL语句的输出源连接器标识,统一替换为指定输出源连接器标识,并将输出源数据库地址统一替换为指定输出源数据库地址,从而得到适配后的输出源定义类型Flink SQL语句;

所述Flink数据服务模块,将适配后的输出源定义类型Flink SQL语句、数据源定义类型Flink SQL语句和数据处理类型Flink SQL语句,重新整合为适配后的Flink SQL文本;

步骤7,所述Flink数据服务模块向Flink集群提交执行适配后的Flink SQL文本的Flink任务;

步骤8,Flink集群执行所述适配后的Flink SQL文本,执行方法为:

Flink集群根据所述数据源定义类型Flink SQL语句的数据源表结构、数据源连接器标识和数据源数据库地址,通过数据源连接器标识和数据源数据库地址,定位到所述数据源数据库地址,持续从数据源数据库中读取到数据源;

Flink集群在读取到的数据源中执行数据处理类型Flink SQL语句,持续得到执行结果;

Flink集群根据所述适配后的输出源定义类型Flink SQL语句的输出源表结构、指定输出源连接器标识和指定输出源数据库地址,首先通过输出源定位到指定输出源连接器,并通过指定输出源连接器定位到指定输出源数据库,然后持续将所述执行结果,按输出源表结构存储到所述指定输出源数据库;

步骤9,所述网页端模块设置定时器,定时向所述接入服务模块发送获取设定范围执行结果的通知;

所述接入服务模块接收到所述通知后,从所述指定输出源数据库中读取到符合所述设定范围的执行结果,并返回给所述网页端模块;

所述网页端模块将接收到的所述执行结果渲染到本地已渲染出的输出源表结构,得到并展示执行结果。

优选的,各条Flink SQL语句的指定输出源连接器标识和指定输出源数据库地址均相同。

优选的,指定输出源数据库地址为Redis数据库地址。

本发明提供的网页端调试执行Flink SQL文本的方法具有以下优点:

1)用户只需要在网页端编辑得到Flink SQL文本,并点击发送按键,即可提交到接入服务模块,接入服务模块提交到Flink数据服务模块进行执行并保存执行结果;然后,用户在网页端可直接查询到执行结果。

由此可见,用户只需要在网页端一端进行操作即可,操作简单,流程简单;

2)用户在网页端编辑得到的Flink SQL文本,与最终上线时的Flink SQL文本完全相同,由此保证了调试执行的Flink SQL文本与最终上线时的Flink SQL文本的逻辑一致性,保证对最终上线时的Flink SQL文本进行有效调试执行。

附图说明

图1为本发明提供的网页端调试执行Flink SQL文本的方法的流程示意图。

具体实施方式

为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明提供一种网页端调试执行Flink SQL文本的方法,是一种能够在网页端调试执行Flink SQL的实现方案,方便开发者进行Flink SQL的开发和调试。

与现有技术相比,本发明的有益效果是:

1)本发明解决了在调试执行Flink SQL时,需要手动在多端进行操作,流程繁琐的问题。

2)本发明解决了在调试执行Flink SQL时,需要手动对原有的Flink SQL语句进行适配,可能导致调试执行时的Flink SQL语句与最终上线时的语句逻辑不一致的问题。

参考图1,本发明提供一种网页端调试执行Flink SQL文本的方法,包括以下步骤:

步骤1,配置调试平台;所述调试平台包括网页端模块、接入服务模块和Flink数据服务模块;

步骤2,所述网页端模块配置交互式的图形用户界面,在所述图形用户界面中编辑Flink SQL文本,得到需要进行调试的Flink SQL文本;其中,所述Flink SQL文本包括三类Flink SQL语句,分别为:1)数据源定义类型Flink SQL语句,包含数据源标识、数据源表结构、数据源连接器标识和数据源数据库地址;2)输出源定义类型Flink SQL语句,包含输出源标识、输出源表结构、输出源连接器标识和输出源数据库地址;3)数据处理类型FlinkSQL语句,用于描述采用特定策略对数据源进行数据处理,并将数据处理结果存储到输出源;

具体的,以输出源定义类型Flink SQL语句为例,输出源定义类型Flink SQL语句,只包括一个输出源,一个输出源绑定对应类型的输出源连接器;而一种类型的输出源连接器,对应一种类型的数据库;通过输出源数据库地址,最终可确定唯一的输出源数据库,通过输出源数据库,存储执行结果。

步骤3,所述网页端模块向所述接入服务模块发起调试执行Flink SQL文本的请求;其中,所述调试执行Flink SQL文本的请求中,携带步骤2编辑完成的所述Flink SQL文本;

步骤4,所述接入服务模块配置Flink SQL解析接口,通过所述Flink SQL解析接口,对所述Flink SQL文本进行校验与解析,解析出所述Flink SQL文本中的输出源定义类型Flink SQL语句,并对所述输出源定义类型Flink SQL语句进行进一步解析,得到输出源标识和输出源表结构;

步骤5,所述接入服务模块执行以下两个操作:

操作一:所述接入服务模块将解析出的所述输出源标识和输出源表结构返回给所述网页端模块,所述网页端模块在本地渲染出各个输出源标识对应的输出源表结构;然后执行步骤9;

操作二:所述接入服务模块,通过自身配置的Flink任务提交接口,向所述Flink数据服务模块提交执行所述Flink SQL文本的Flink任务;然后,执行步骤6;

步骤6,所述Flink数据服务模块接收到所述Flink任务后,解析出所述Flink SQL文本的三类Flink SQL语句,包括:数据源定义类型Flink SQL语句、输出源定义类型FlinkSQL语句和数据处理类型Flink SQL语句;

然后,所述Flink数据服务模块对所述输出源定义类型Flink SQL语句进行FlinkSQL适配,适配方法为:将所述输出源定义类型Flink SQL语句的输出源连接器标识,统一替换为指定输出源连接器标识,并将输出源数据库地址统一替换为指定输出源数据库地址,从而得到适配后的输出源定义类型Flink SQL语句;

所述Flink数据服务模块,将适配后的输出源定义类型Flink SQL语句、数据源定义类型Flink SQL语句和数据处理类型Flink SQL语句,重新整合为适配后的Flink SQL文本;

具体实现上,各条Flink SQL语句的指定输出源连接器标识和指定输出源数据库地址均相同。指定输出源数据库地址包括但不限于Redis数据库地址。

步骤7,所述Flink数据服务模块向Flink集群提交执行适配后的Flink SQL文本的Flink任务;

步骤8,Flink集群执行所述适配后的Flink SQL文本,执行方法为:

Flink集群根据所述数据源定义类型Flink SQL语句的数据源表结构、数据源连接器标识和数据源数据库地址,通过数据源连接器标识和数据源数据库地址,定位到所述数据源数据库地址,持续从数据源数据库中读取到数据源;

Flink集群在读取到的数据源中执行数据处理类型Flink SQL语句,持续得到执行结果;

Flink集群根据所述适配后的输出源定义类型Flink SQL语句的输出源表结构、指定输出源连接器标识和指定输出源数据库地址,首先通过输出源定位到指定输出源连接器,并通过指定输出源连接器定位到指定输出源数据库,然后持续将所述执行结果,按输出源表结构存储到所述指定输出源数据库;

步骤9,所述网页端模块设置定时器,定时向所述接入服务模块发送获取设定范围执行结果的通知;

所述接入服务模块接收到所述通知后,从所述指定输出源数据库中读取到符合所述设定范围的执行结果,并返回给所述网页端模块;

所述网页端模块将接收到的所述执行结果渲染到本地已渲染出的输出源表结构,得到并展示执行结果。

本发明提供一种网页端调试执行Flink SQL文本的方法,用于网页端调试执行Flink SQL文本的系统,系统包括网页端模块、接入服务模块和Flink数据服务模块;

1.网页端模块

网页端模块用于与用户直接进行交互,提供一个交互式的图形用户界面,用户可以在该图形用户界面中进行以下操作:

a.编辑Flink SQL文本:

用户可以直接在网页端进行Flink SQL文本的编辑,避免了传统方法中需要在本地编辑器中编辑Flink SQL并上传至服务器的操作。

用户在网页端直接编辑得到与实际最终上线的Flink SQL文本完全相同的FlinkSQL文本,由此保证后续进行调试执行的Flink SQL文本,与实际最终上线的Flink SQL文本一致。也就是说,本发明中,用户不需要在网页端对Flink SQL文本进行适配。而传统方案中,用户在编辑器中编辑Flink SQL文本中,需要对Flink SQL文本进行适配,操作繁琐且易出错。

b.发起调试执行Flink SQL语句的请示:

用于向接入服务模块发起调试执行Flink SQL文本的请求,开始调试执行的流程。

c.查看Flink SQL的执行结果:

用户可以直接在网页端的界面中查看各个输出源的执行结果,而无需打开FlinkUI查看运行日志。

2.接入服务模块

接入服务模块用于为网页端模块提供后台接入服务,起到网页端模块与Flink数据服务模块之间桥梁纽带的作用,接入服务模块包含以下几个接口:

a.Flink SQL解析接口:

用于对网页端模块上传的Flink SQL文本进行校验与解析,分析其中包含的输出源表结构。

b.Flink任务提交接口:

用于将Flink SQL文本提交至Flink数据服务模块以进行Flink任务的执行。

c.执行结果获取接口:

用于从指定输出源数据库获取Flink任务的执行结果并返回给网页端模块。

3.Flink数据服务模块

Flink数据服务模块负责直接与Flink集群进行交互,用于在Flink集群上执行Flink任务并保存任务的执行结果,Flink数据服务模块包含以下几个子模块:

a.Flink SQL适配:

用于对Flink SQL文本中包含的输出源连接器和输出源数据库地址进行替换。该模块自动识别Flink SQL文本中每条Flink SQL语句的输出源,并将输出源连接器统一替换为一个指定输出源连接器,并将输出源数据库地址统一替换为指定输出源数据库地址,以便将执行结果保存至指定输出源数据库。

b.Flink任务执行:

该模块用于向Flink集群提交经过适配后的Flink SQL文本,并真正执行Flink任务。

c.执行结果保存:

该模块为一个定制化的Flink连接器,用于将Flink任务的执行结果保存至指定输出源数据库。

本发明提供一种网页端调试执行Flink SQL文本的方法,具有以下优点:

1)用户只需要在网页端编辑得到Flink SQL文本,并点击发送按键,即可提交到接入服务模块,接入服务模块提交到Flink数据服务模块进行执行并保存执行结果;然后,用户在网页端可直接查询到执行结果。

由此可见,用户只需要在网页端一端进行操作即可,操作简单,流程简单;

2)用户在网页端编辑得到的Flink SQL文本,与最终上线时的Flink SQL文本完全相同,由此保证了调试执行的Flink SQL文本与最终上线时的Flink SQL文本的逻辑一致性,保证对最终上线时的Flink SQL文本进行有效调试执行。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

技术分类

06120114696244