数据处理方法、装置、电子设备和计算机可读介质制造方法及图纸

技术编号:37268524 阅读:16 留言:0更新日期:2023-04-20 23:39
本发明专利技术公开了数据处理方法、装置、电子设备和计算机可读介质,涉及大数据处理和云计算技术领域。该方法的一具体实施方式包括:创建ClickHouse的自定义函数并配置所述自定义函数的配置信息;通过管道读取ClickHouse输入的输入参数,对所述输入参数进行切割,从而得到多个输入字段;对所述多个输入字段进行解析,根据解析结果调用所述自定义函数,从而得到多个输出字段;将所述多个输出字段连接成输出参数,将所述输出参数返回至ClickHouse的调用处。该实施方式能够解决每次新增处理逻辑时修改ClickHouse的配置文件不方便的技术问题。改ClickHouse的配置文件不方便的技术问题。改ClickHouse的配置文件不方便的技术问题。

【技术实现步骤摘要】
数据处理方法、装置、电子设备和计算机可读介质


[0001]本专利技术涉及大数据处理和云计算
,尤其涉及一种数据处理方法、装置、电子设备和计算机可读介质。

技术介绍

[0002]ClickHouse常用来做数据分析,但有时通过SQL语句,面临一些复杂的处理逻辑,就不像应用程序处理数据的逻辑那样方便和容易实现了,纯SQL语句有其局限性,所以很多数据库都提供了用户外部自定义函数的功能,可以通过其他开发语言如C,C++,Java,Python等开发外部自定义函数,扩展数据库的功能,ClickHouse也不例外。
[0003]外部自定义函数有两点好处:第一点,是不用局限于SQL语句功能的限制,让数据处理更加灵活,对一些用SQL语句难以实现的功能,使用其他开发语言实现起来更加容易;第二点,如果用SQL语言难以实现,不采用自定义函数,就会采用应用程序将数据从数据库中提取出来,在应用程序处进行数据的逻辑处理,然后将处理结果保存回数据库,这样一来一回有两个环节的数据网络传输,面对需要处理的数据量较大,如TB级的数据,在网络传输上,就会消耗大量的时间(可能需要几个小时甚至几天),而自定义函数在数据库的服务端处理数据,就避免的这种需要数据来回传输的情况,从而节省时间,加快了数据处理的速度。
[0004]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:
[0005]出于管理的需要,保障ClickHouse的稳定运行,会有专人进行数据库的管理,数据库的配置文件权限也会进行严格的限定,不允许其他人员随意更改,如果申请走审核流程去修改ClickHouse的配置,流程周期长,无法适应业务灵活多变的特点。如果每次新增一种处理逻辑,都需要新增或修改数据库的配置文件,是非常不方便的。

技术实现思路

[0006]有鉴于此,本专利技术实施例提供一种数据处理方法、装置、电子设备和计算机可读介质,以解决每次新增处理逻辑时修改ClickHouse的配置文件不方便的技术问题。
[0007]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据处理方法,包括:
[0008]创建ClickHouse的自定义函数并配置所述自定义函数的配置信息;其中,所述自定义函数实现程序包或者脚本文件主文件包含多个子模块,所述子模块为以下至少一种:模型、子程序文件和逻辑脚本;
[0009]通过管道读取ClickHouse输入的输入参数,对所述输入参数进行切割,从而得到多个输入字段;
[0010]对所述多个输入字段进行解析,根据解析结果调用所述自定义函数,从而得到多个输出字段;
[0011]将所述多个输出字段连接成输出参数,将所述输出参数返回至ClickHouse的调用
处。
[0012]可选地,创建ClickHouse的自定义函数并配置所述自定义函数的配置信息,包括:
[0013]将自定义函数实现程序包或者脚本文件主文件放到自义定函数程序包目录下;
[0014]在ClickHouse的配置文件同级目录下创建所述自定义函数的配置文件,在所述自定义函数的配置文件中定义所述自义定函数的接口。
[0015]可选地,所述接口定义包括:输入参数为一个字符串、输出参数为一个字符串和启动命令为一个启动脚本;
[0016]在所述自定义函数的配置文件中定义所述自义定函数的接口之后,还包括:
[0017]编写启动脚本,所述启动脚本用于启动所述自定义函数;
[0018]将所述自定义函数生效。
[0019]可选地,所述自义定函数程序包目录满足如下条件:
[0020]ClickHouse服务的运行用户有可读权限;
[0021]创建自义定函数的用户有上传文件到所述目录的权限。
[0022]可选地,对所述输入参数进行切割,从而得到多个输入字段,包括:
[0023]根据分隔符对所述输入参数进行切割,得到多个输入字段;其中,所述输入参数为一个字符串。
[0024]可选地,对所述多个输入字段进行解析,根据解析结果调用所述自定义函数,从而得到多个输出字段,包括:
[0025]按照变量名=变量值的方式,对所述多个输入字段进行解析;
[0026]从解析结果中获取目标子模块的标识;
[0027]获取所述目标子模块中的输入字段名、字段类型和字段长度,以及输出字段名、字段类型和字段长度,对所述解析结果进行类型转换并对所述目标子模块的输入参数进行赋值;
[0028]执行所述目标子模块,从而得到输出结果值;
[0029]按照字段名=字段值的方式,将所述输出结果值转换成多个输出字段。
[0030]可选地,将所述多个输出字段连接成输出参数,包括:
[0031]采用分隔符将所述多个输出字段连接成输出参数;其中,所述输出参数为一个字符串。
[0032]另外,根据本专利技术实施例的另一个方面,提供了一种数据处理装置,包括:
[0033]创建模块,用于创建ClickHouse的自定义函数并配置所述自定义函数的配置信息;其中,所述自定义函数实现程序包或者脚本文件主文件包含多个子模块,所述子模块为以下至少一种:模型、子程序文件和逻辑脚本;
[0034]读取模块,用于通过管道读取ClickHouse输入的输入参数,对所述输入参数进行切割,从而得到多个输入字段;
[0035]处理模块,用于对所述多个输入字段进行解析,根据解析结果调用所述自定义函数,从而得到多个输出字段;
[0036]返回模块,用于将所述多个输出字段连接成输出参数,将所述输出参数返回至ClickHouse的调用处。
[0037]可选地,所述创建模块还用于:
[0038]将自定义函数实现程序包或者脚本文件主文件放到自义定函数程序包目录下;
[0039]在ClickHouse的配置文件同级目录下创建所述自定义函数的配置文件,在所述自定义函数的配置文件中定义所述自义定函数的接口。
[0040]可选地,所述接口定义包括:输入参数为一个字符串、输出参数为一个字符串和启动命令为一个启动脚本;
[0041]所述创建模块还用于:
[0042]在所述自定义函数的配置文件中定义所述自义定函数的接口之后,编写启动脚本,所述启动脚本用于启动所述自定义函数;
[0043]将所述自定义函数生效。
[0044]可选地,所述自义定函数程序包目录满足如下条件:
[0045]ClickHouse服务的运行用户有可读权限;
[0046]创建自义定函数的用户有上传文件到所述目录的权限。
[0047]可选地,所述读取模块还用于:
[0048]根据分隔符对所述输入参数进行切割,得到多个输入字段;其中,所述输入参数为一个字符串。
[0049]可选地,所述处理模块还用于:
[0050]按照变量名=变量值的方式,对所述多个输入字段进行解析;
[0051]从解析结果中获本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:创建ClickHouse的自定义函数并配置所述自定义函数的配置信息;其中,所述自定义函数实现程序包或者脚本文件主文件包含多个子模块,所述子模块为以下至少一种:模型、子程序文件和逻辑脚本;通过管道读取ClickHouse输入的输入参数,对所述输入参数进行切割,从而得到多个输入字段;对所述多个输入字段进行解析,根据解析结果调用所述自定义函数,从而得到多个输出字段;将所述多个输出字段连接成输出参数,将所述输出参数返回至ClickHouse的调用处。2.根据权利要求1所述的方法,其特征在于,创建ClickHouse的自定义函数并配置所述自定义函数的配置信息,包括:将自定义函数实现程序包或者脚本文件主文件放到自义定函数程序包目录下;在ClickHouse的配置文件同级目录下创建所述自定义函数的配置文件,在所述自定义函数的配置文件中定义所述自义定函数的接口。3.根据权利要求2所述的方法,其特征在于,所述接口定义包括:输入参数为一个字符串、输出参数为一个字符串和启动命令为一个启动脚本;在所述自定义函数的配置文件中定义所述自义定函数的接口之后,还包括:编写启动脚本,所述启动脚本用于启动所述自定义函数;将所述自定义函数生效。4.根据权利要求2所述的方法,其特征在于,所述自义定函数程序包目录满足如下条件:ClickHouse服务的运行用户有可读权限;创建自义定函数的用户有上传文件到所述目录的权限。5.根据权利要求1所述的方法,其特征在于,对所述输入参数进行切割,从而得到多个输入字段,包括:根据分隔符对所述输入参数进行切割,得到多个输入字段;其中,所述输入参数为一个字符串。6.根据权利要求1所述的方法,其特征在于,对所述多个输入字段进行解析,根据解析结果调用所述自定义函数,从而得到多个输出字段,包括:按照变量名=变量值的方式,对所述多个输入字段进行解析;从解析结果中获取目标子模块的标识;获取所述目标子模块中的输入字段名、字段类型和字段长度,以及输出字段名、字段类型和字段长度,对所述解析结果进行类型转换并对所述目标子模块的输入参数进行赋值;执行所述目标子模块,从而得到输出结果值;按照字段名=字段值的方式,将所述输出结果值转换成多个输出字段。7.根据权利要求1所述的方法,其特征在于,将所述多个输出字段连接成输出参数,包括:采用分隔符将所述多个输出字段连接成输出参数;其中,所述输出参数为一个字符串。8.一种数据处理装置,其特征在于,包括:
创建模块,用于创建ClickHouse的自定义函数并配置所述自定义函数的配置信息;其中,所述自定义函数实现程序包或者脚本文件主文件包含多个子模块,所述子模块为以下至少一种:模型、子...

【专利技术属性】
技术研发人员:张满郭翔黄晓瑜许志塨
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1