【技术实现步骤摘要】
数据处理方法、装置、电子设备和计算机可读介质
[0001]本专利技术涉及大数据处理和云计算
,尤其涉及一种数据处理方法、装置、电子设备和计算机可读介质。
技术介绍
[0002]ClickHouse常用来做数据分析,但有时通过SQL语句,面临一些复杂的处理逻辑,就不像应用程序处理数据的逻辑那样方便和容易实现了,纯SQL语句有其局限性,所以很多数据库都提供了用户外部自定义函数的功能,可以通过其他开发语言如C,C++,Java,Python等开发外部自定义函数,扩展数据库的功能,ClickHouse也不例外。
[0003]外部自定义函数有两点好处:第一点,是不用局限于SQL语句功能的限制,让数据处理更加灵活,对一些用SQL语句难以实现的功能,使用其他开发语言实现起来更加容易;第二点,如果用SQL语言难以实现,不采用自定义函数,就会采用应用程序将数据从数据库中提取出来,在应用程序处进行数据的逻辑处理,然后将处理结果保存回数据库,这样一来一回有两个环节的数据网络传输,面对需要处理的数据量较大,如TB级的数据,在网络传输上,就会消耗大量的时间(可能需要几个小时甚至几天),而自定义函数在数据库的服务端处理数据,就避免的这种需要数据来回传输的情况,从而节省时间,加快了数据处理的速度。
[0004]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:
[0005]出于管理的需要,保障ClickHouse的稳定运行,会有专人进行数据库的管理,数据库的配置文件权限也会进行严格的限定,不允许其他人 ...
【技术保护点】
【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:创建ClickHouse的自定义函数并配置所述自定义函数的配置信息;其中,所述自定义函数实现程序包或者脚本文件主文件包含多个子模块,所述子模块为以下至少一种:模型、子程序文件和逻辑脚本;通过管道读取ClickHouse输入的输入参数,对所述输入参数进行切割,从而得到多个输入字段;对所述多个输入字段进行解析,根据解析结果调用所述自定义函数,从而得到多个输出字段;将所述多个输出字段连接成输出参数,将所述输出参数返回至ClickHouse的调用处。2.根据权利要求1所述的方法,其特征在于,创建ClickHouse的自定义函数并配置所述自定义函数的配置信息,包括:将自定义函数实现程序包或者脚本文件主文件放到自义定函数程序包目录下;在ClickHouse的配置文件同级目录下创建所述自定义函数的配置文件,在所述自定义函数的配置文件中定义所述自义定函数的接口。3.根据权利要求2所述的方法,其特征在于,所述接口定义包括:输入参数为一个字符串、输出参数为一个字符串和启动命令为一个启动脚本;在所述自定义函数的配置文件中定义所述自义定函数的接口之后,还包括:编写启动脚本,所述启动脚本用于启动所述自定义函数;将所述自定义函数生效。4.根据权利要求2所述的方法,其特征在于,所述自义定函数程序包目录满足如下条件:ClickHouse服务的运行用户有可读权限;创建自义定函数的用户有上传文件到所述目录的权限。5.根据权利要求1所述的方法,其特征在于,对所述输入参数进行切割,从而得到多个输入字段,包括:根据分隔符对所述输入参数进行切割,得到多个输入字段;其中,所述输入参数为一个字符串。6.根据权利要求1所述的方法,其特征在于,对所述多个输入字段进行解析,根据解析结果调用所述自定义函数,从而得到多个输出字段,包括:按照变量名=变量值的方式,对所述多个输入字段进行解析;从解析结果中获取目标子模块的标识;获取所述目标子模块中的输入字段名、字段类型和字段长度,以及输出字段名、字段类型和字段长度,对所述解析结果进行类型转换并对所述目标子模块的输入参数进行赋值;执行所述目标子模块,从而得到输出结果值;按照字段名=字段值的方式,将所述输出结果值转换成多个输出字段。7.根据权利要求1所述的方法,其特征在于,将所述多个输出字段连接成输出参数,包括:采用分隔符将所述多个输出字段连接成输出参数;其中,所述输出参数为一个字符串。8.一种数据处理装置,其特征在于,包括:
创建模块,用于创建ClickHouse的自定义函数并配置所述自定义函数的配置信息;其中,所述自定义函数实现程序包或者脚本文件主文件包含多个子模块,所述子模块为以下至少一种:模型、子...
【专利技术属性】
技术研发人员:张满,郭翔,黄晓瑜,许志塨,
申请(专利权)人:建信金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。