首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

UDF适配方法、数据处理方法、设备及存储介质 

申请/专利权人:阿里巴巴集团控股有限公司

申请日:2018-04-23

公开(公告)日:2023-12-15

公开(公告)号:CN110399384B

主分类号:G06F16/242

分类号:G06F16/242;G06F8/30

优先权:

专利状态码:有效-授权

法律状态:2023.12.15#授权;2019.11.26#实质审查的生效;2019.11.01#公开

摘要:本申请实施例提供一种UDF适配方法、数据处理方法、设备及存储介质。在本申请实施例中,结合待适配计算平台所支持的UDF二次开发接口的信息,对采用第一计算机程序语言编写的UDF做平台适配,将采用第一计算机程序语言编写的UDF转换待适配计算平台所支持的类文件,进而根据待适配计算平台使用的第二计算机程序语言的语法格式,将该类文件进行编译和打包成待适配计算平台可调用的资源文件包。由此可见,本申请实施例通过对UDF进行适配处理,使得UDF可跨平台使用,达到一处开发,多处使用的效果,这有利于突破现有基于某种语言编写UDF所具有的平台特性,有利于提高UDF的使用灵活性,进而降低开发成本。

主权项:1.一种自定义函数UDF适配方法,其特征在于,包括:响应于UDF适配指令,获取采用第一计算机程序语言编写的UDF;根据待适配计算平台所支持的UDF二次开发接口的信息,将所述采用第一计算机程序语言编写的UDF转换为所述第一计算机程序语言的类文件,所述第一计算机程序语言的类文件是符合所述待适配计算平台的要求,包含类头和主体函数,能够被所述待适配计算平台识别的类文件;基于所述待适配计算平台使用的第二计算机程序语言的语法格式,将所述第一计算机程序语言的类文件编译成所述第二计算机程序语言的类文件;将所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包;所述根据待适配计算平台所支持的UDF二次开发接口的信息,将所述采用第一计算机程序语言编写的UDF转换为所述第一计算机程序语言的类文件,包括:将所述采用第一计算机程序语言编写的UDF作为所述第一计算机程序语言的类文件中的主体函数拷贝至所述第一计算机程序语言的类文件中;将所述待适配计算平台所支持的UDF二次开发接口的信息添加至所述第一计算机程序语言的类文件的类头中。

全文数据:UDF适配方法、数据处理方法、设备及存储介质技术领域本申请涉及计算机技术领域,尤其涉及一种UDF适配方法、数据处理方法、设备及存储介质。背景技术结构化查询语言StructuredQueryLanguage,SQL本身提供了丰富的内置函数供程序员使用,但实际业务场景可能很复杂,内置函数可能无法满足业务场景的编程需求。为此,SQL还提供了用户自定义函数UserDefinedFunction,UDF,以满足复杂业务场景的编程需求。Python作为一种面向对象的解释型计算机程序设计语言,具有非常丰富和强大的库,能够轻松地把用其它语言编写的代码模块联结在一起,而且还具有简单、灵活、易于学习等优势,因此,在大数据相关的计算平台中基于Python语言编写UDF越来越受欢迎。但是,现有基于Python语言编写UDF具有平台特性,使得基于Python语言编写UDF的使用受到了限制,灵活性较差,开发成本较高。发明内容本申请的多个方面提供一种UDF适配方法、数据处理方法、设备及存储介质,用以提高Python语言编写的UDF使用的灵活性,进而降低开发成本。本申请实施例提供一种UDF适配方法,包括:响应于UDF适配指令,获取采用第一计算机程序语言编写的UDF;根据待适配计算平台所支持的UDF二次开发接口的信息,将所述采用第一计算机程序语言编写的UDF转换为所述第一计算机程序语言的类文件;基于所述待适配计算平台使用的第二计算机程序语言的语法格式,将所述第一计算机程序语言的类文件编译成所述第二计算机程序语言的类文件;将所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包。本申请实施例还提供一种计算机设备,包括:存储器和处理器;所述存储器,存储有计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:响应于UDF适配指令,获取采用第一计算机程序语言编写的UDF;根据待计算平台所支持的UDF二次开发接口的信息,将所述采用第一计算机程序语言编写的UDF转换为所述第一计算机程序语言的类文件;基于所述待适配计算平台使用的第二计算机程序语言的语法格式,将所述第一计算机程序语言的类文件编译成所述第二计算机程序语言的类文件;将所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包。本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序;所述计算机程序被处理器执行时,致使所述处理器执行包括以下的动作:响应于UDF适配指令,获取采用第一计算机程序语言编写的UDF;根据待计算平台所支持的UDF二次开发接口的信息,将所述采用第一计算机程序语言编写的UDF转换为所述第一计算机程序语言的类文件;基于所述待适配计算平台使用的第二计算机程序语言的语法格式,将所述第一计算机程序语言的类文件编译成所述第二计算机程序语言的类文件;将所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包。本申请实施例还提供一种数据处理方法,包括:获取采用第一计算机程序语言编写的用户自定义函数UDF及开发接口信息;根据所述开发接口信息,将所述UDF转换为所述第一计算机程序语言的类文件;根据第二计算机程序语言的语法格式,将所述第一计算机程序语言的类文件编译成所述第二计算机程序语言的类文件。在本申请实施例中,结合待适配计算平台所支持的UDF二次开发接口的信息,对采用第一计算机程序语言编写的UDF做平台适配,将采用第一计算机程序语言编写的UDF转换待适配计算平台所支持的类文件,进而根据待适配计算平台使用的第二计算机程序语言的语法格式,将该类文件进行编译和打包成待适配计算平台可调用的资源文件包。由此可见,本申请实施例通过对UDF进行适配处理,使得UDF可跨平台使用,达到一处开发,多处使用的效果,这有利于突破现有基于某种语言编写UDF所具有的平台特性,有利于提高UDF的使用灵活性,进而降低开发成本。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请一示例性实施例提供的一种UDF适配方法的流程示意图;图2为本申请一示例性实施例提供的一种将第一计算机程序语言编写的UDF转换为第一计算机程序语言的类文件的方法的流程示意图;图3为本申请一示例性实施例提供的一种将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件的流程示意图;图4为本申请一示例性实施例提供的一种将第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件的流程示意图;图5为本申请一示例性实施例提供的一种用于对UDF做平台适配的软件框架的示意图;图6a为本申请另一示例性实施例提供的一种UDF适配装置的结构示意图;图6b为本申请又一示例性实施例提供的一种计算机设备的结构示意图;图7a为本申请又一示例性实施例提供的一种数据处理方法的流程图;图7b为本申请又一示例性实施例提供的另一种计算机设备的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。针对现有基于Python语言编写UDF具有平台特性,使得其编写的UDF的使用灵活性较差的技术问题,在本申请一些实施例中,可结合待适配计算平台所支持的UDF二次开发接口的信息,对采用第一计算机程序语言编写的UDF做平台适配,将采用第一计算机程序语言编写的UDF转换为待适配计算平台所支持的类文件,进而根据待适配计算平台使用的第二计算机程序语言的语法格式,对该类文件进行编译和打包可形成可被待适配计算平台调用的资源文件包。本申请实施例通过对UDF进行适配处理,使得UDF可跨平台使用,达到一处开发,多处使用的效果,这有利于突破现有基于某种语言编写UDF所具有的平台特性,有利于提高UDF的使用灵活性,进而降低开发成本。以下结合附图,详细说明本申请各实施例提供的技术方案。图1为本申请一示例性实施例提供的一种UDF适配方法的流程示意图。如图1所示,该方法包括:101、响应于UDF适配指令,获取采用第一计算机程序语言编写的UDF。102、根据待适配计算平台所支持的UDF二次开发接口的信息,将采用第一计算机程序语言编写的UDF转换为第一计算机程序语言的类文件。103、基于待适配计算平台使用的第二计算机程序语言的语法格式,将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件。104、将第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件包。SQL作为一种数据库查询和程序设计语言,被广泛应用到各种具有数据存储和处理功能的计算平台中。SQL同时提供了丰富的内置函数和UDF,在一些复杂的业务场景中,业务编程人员可以根据业务需求自定义所需的函数,即UDF,来满足复杂业务场景的编程需求。一个UDF开发成功后,如果可被不同计算平台使用而无需进行重复开发,这不仅可节约开发资源,还可提高计算平台的数据处理效率。但是,在现有技术中,针对一种计算平台开发的UDF,一般无法无缝迁移至另一计算平台上,即另一计算平台无法调用该UDF,这不仅限制了UDF的使用,也造成开发资源的浪费。针对上述技术问题,本实施例提供了一种可对UDF进行平台适配的方案,使得UDF可跨平台使用,达到一处开发,多处使用的效果,提供UDF的使用灵活性,降低开发成本。在对UDF做平台适配之前,需要编写UDF。一般来说,可以按照UDF规范采用某种计算机程序语言来编写UDF。例如,可以采用但不限于Python语言编写UDF。在本实施例中,将编写UDF使用的计算机程序语言记为第一计算机程序语言。当某个计算平台需要使用采用第一计算机程序语言编写的UDF但又无法直接调用该UDF时,可以针对该计算平台对采用第一计算机程序语言编写的UDF进行平台适配。例如,当计算平台不支持第一计算机程序语言时,无法直接调用采用第一计算机程序语言编写的UDF,则可以针对该计算平台对采用第一计算机程序语言编写的UDF进行平台适配。又例如,当计算平台所支持的UDF二次开发接口的信息与采用第一计算机程序语言编写UDF时使用的UDF二次开发接口的信息不同时,无法直接调用采用第一计算机程序语言编写的UDF,则可以针对该计算平台对采用第一计算机程序语言编写的UDF进行平台适配。为便于区分和描述,将需要对采用第一计算机程序语言编写的UDF进行平台适配的计算平台称为待适配计算平台。待适配计算平台可以是任何支持SQL的数据处理引擎,例如可以是HIVE、ODPS、SPARK、FLINK等。当需要针对待适配计算平台对采用第一计算机程序语言编写的UDF进行平台适配时,相关用户可以向计算机设备发出UDF适配指令,通过该UDF适配指令指示需要对采用第一计算机程序语言编写的UDF做平台适配,以便于该计算机设备对采用第一计算机程序语言编写的UDF做平台适配。其中,计算机设备是本实施例方法的执行主体,可选地,该计算机设备可以是待适配计算平台所在计算机设备,但不限于此。其中,计算机设备对采用第一计算机程序语言编写的UDF做平台适配的过程如下:首先,根据UDF适配指令获取采用第一计算机程序编写的UDF。其次,根据待适配计算平台所支持的UDF二次开发接口的信息,对采用第一计算机程序语言编写的UDF做平台适配,将采用第一计算机程序语言编写的UDF转换为第一计算机程序语言的类文件。这里第一计算机程序语言的类文件包含待适配计算平台所支持的UDF二次开发接口的信息,可被待适配计算平台所识别,为待适配计算平台调用上述采用第一计算机程序编写的UDF提供了基础条件。接着,考虑到不同计算平台所使用的计算机程序语言不同,而不同计算机程序语言的其语法格式也就会有所不同。例如,Python编程语言利用缩进表示语句块的开始和退出Off-side规则,采用增加缩进表示语句块的开始,而减少缩进则表示语句块的退出。然而,C语言、C++等程序语言则利用花括号或某种关键字来表示语句块的开始或结束。因此,可按照待适配计算平台所使用的第二计算机程序语言的语法格式,对上述第一计算机程序语言的类文件进行编译,以形成第二计算机程序语言的类文件。其中,第二计算机程序语言不同于第一计算机程序语言。例如,第一计算机程序语言可以是Python,第二计算机程序语言可以是java语言、C语言、C++语言等。在获得第二计算机程序语言的类文件后,可以将第二计算机程序语言的类文件打包成相应的资源文件包。至此,完成了对UDF的平台适配,并且打包形成的该资源文件包可被待适配计算平台直接调用并执行。当待适配计算平台需要使用上述采用第一计算机程序语言编写的UDF时,直接调用并执行上述打包形成的资源文件包即可。在本实施例中,结合待适配计算平台所支持的UDF二次开发接口的信息,对采用第一计算机程序语言编写的UDF做平台适配,将采用第一计算机程序语言编写的UDF转换待适配计算平台所支持的类文件,进而根据待适配计算平台使用的第二计算机程序语言的语法格式,将该类文件进行编译和打包成可被待适配计算平台直接调用并执行的资源文件包。这使得采用第一计算机程序语言编写的UDF可被无缝迁移到不同计算平台上,使得UDF可跨平台使用,达到一处开发,多处使用的效果。当采用Python语言编写UDF时,采用本实施例提供的方法,可突破基于Python语言编写UDF所具有的平台特性,可将基于Python语言编写的UDF无缝迁移到不同计算平台上,使得UDF可跨平台使用,提高了基于Python语言编写的UDF的使用灵活性,进而可降低UDF的开发成本。在一些示例性实施例中,UDF适配指令包括但不限于:UDF编译命令和UDF打包命令。其中,UDF编译命令用于指示编译出第二计算机程序语言的类文件。UDF打包命令用于指示打包出可被待适配计算平台直接调用并执行的资源文件包。在一可选实施方式中,用户可以向计算机设备输入UDF编译命令,该UDF编译命令,可作为UDF适配指令,用于触发计算机设备获取采用第一计算机程序语言编写的UDF并将其编译成第二计算机程序语言的类文件。例如,计算机设备可以向用户提供人机交互界面,以便于用户输入UDF编译命令。可选地,人机交互界面可以实现为web页面,应用内界面或命令行窗口等。以人机交互界面实现为命令行窗口为例,则计算机设备可响应于用户打开命令行窗口的操作,向用户展示命令行窗口,进而响应于用户在命令行窗口中的输入操作,获取用户输入的UDF编译命令。基于此,步骤101的一种可选实施方式为:响应于用户输入的UDF编译命令,获取采用第一计算机程序语言编写的UDF。进一步,在UDF编译命令的触发下,计算机设备可以根据待适配计算平台所支持的UDF二次开发接口的信息,将采用第一计算机程序语言编写的UDF转换为第一计算机程序语言的类文件,并可根据待适配计算平台使用的第二计算机程序语言的语法格式,将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件。在将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件之后,用户可以通过命令行窗口继续输入UDF打包指令,以指示将第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件包。基于此,步骤104的一种可选实施方式为:响应于用户输入的UDF打包指令,将第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件包。在另一可选实施例中,用户可以向计算机设备输入UDF打包指令,该UDF打包指令,可作为UDF适配指令,用于触发计算机设备获取采用第一计算机程序语言编写的UDF并最终将其打包成可被待适配计算平台直接调用并执行的资源文件包。同理,计算机设备可以向用户提供人机交互界面,以便于用户输入UDF打包命令。可选地,人机交互界面可以实现为web页面,应用内界面或命令行窗口等。以人机交互界面实现为命令行窗口为例,则计算机设备可响应于用户打开命令行窗口的操作,向用户展示命令行窗口,进而响应于用户在命令行窗口中的输入操作,获取用户输入的UDF打包指令。基于此,步骤101的另一种可选实施方式为:响应于用户输入的UDF打包指令,获取采用第一计算机程序语言编写的UDF。进一步,在UDF打包命令的触发下,计算机设备可以根据待适配计算平台所支持的UDF二次开发接口的信息,将采用第一计算机程序语言编写的UDF转换为第一计算机程序语言的类文件,并可根据待适配计算平台使用的第二计算机程序语言的语法格式,将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件;然后,将第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件包。可选地,在上述或下述实施例中,UDF适配指令可以携带UDF标识信息,用于标识采用第一计算机语言编写的UDF,例如可以是UDF的存储路径。若采用第一计算机语言编写的UDF为多个,则可以采用本申请实施例提供的方法将各UDF分别打包成可被待适配计算平台直接调用并执行的资源文件包。进一步,可以将打包出的各资源文件包在待适配计算平台的函数库中,以供待适配计算平台在需要的时候直接调用和执行。可选地,在上述或下述实施例中,UDF适配指令还可携带与待适配计算平台相关的信息,例如待适配计算平台所支持的UDF二次开发接口的信息,待适配计算平台的名称、ID等信息。这些信息可用来标识需要针对哪个计算平台做UDF适配处理以及适配所需的信息。其中,适配所需的信息包括但不限于:待适配计算平台所支持的UDF二次开发接口的信息、待适配计算平台所使用的第二计算机程序语言等信息。根据待适配计算平台的不同,待适配计算平台所支持的UDF二次开发接口的信息也会有所不同。下面给出几种示例:以待适配计算平台为ODPS为例,则ODPS所支持的UDF二次开发接口的信息包括但不限于:1实现com.aliyun.odps.udf.UDF接口;2实现evaluate方法。代码描述如下:以待适配计算平台为HIVE为例,则HIVE所支持的UDF二次开发接口的信息包括但不限于:1实现org.apache.hadoop.hive.ql.udf.generic.GenericUDF接口;2实现evaluate方法。代码描述如下:以待适配计算平台为SPARK为例,则SPARK所支持的UDF二次开发接口的信息包括但不限于:1实现org.apache.spark.sql.api.java.UDF1~UDF22接口,其中UDF1代表一个输入参数,UDF2代表两个输入参数,以此类推;2实现call方法。代码描述如下:以待适配计算平台为FLINK为例,则FLINK所支持的UDF二次开发接口的信息包括但不限于:1实现org.apache.flink.table.functions.ScalarFunction接口;2实现eval方法。代码描述如下:需要说明的是,上述实施例中UDF适配指令所携带的信息只是示例性说明,除了这些信息之外,UDF适配指令还可以携带其它一些信息。在上述或下述实施例中,可根据待适配计算平台所支持的UDF二次开发接口的信息,将采用第一计算机程序语言编写的UDF转换为第一计算机程序语言的类文件。第一计算机程序语言的类文件符合待适配计算平台对类文件的要求,可被待适配计算平台识别。在一示例性实施例中,待适配计算平台要求的类文件可包含但不限于类头和主体函数。其中,类头用于标识该类文件是否为一个能被待适配计算平台接受的类文件;主体函数则为类文件的主要内容,即类文件所能实现的功能对应的函数部分。在本申请实施例中,第一计算机程序语言的类文件的主体函数为采用第一计算机程序语言编写的UDF。基于上述,一种将第一计算机程序语言编写的UDF转换为第一计算机程序语言的类文件的实施方式,如图2所示,包括以下步骤:201、将采用第一计算机程序语言编写的UDF作为第一计算机程序语言的类文件中的主体函数拷贝至第一计算机程序语言的类文件中。202、将待适配计算平台所支持的UDF二次开发接口的信息添加至第一计算机程序语言的类文件的类头中。在上述或下述实施例中,需按照待适配计算平台所使用的第二计算机程序语言的语法格式,将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件。对于第二计算机程序语言的类文件来说,代码逻辑和数据应与第一计算机程序语言的类文件中的代码逻辑和数据相同,这样可保障实现第一计算机程序语言编写的UDF的功能,但语法格式会有所不同。基于上述,一种将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件的一种可选实施方式,如图3所示,包括以下步骤:301、按照第二计算机程序语言的语法格式,在第二计算机程序语言的类文件中实现第一计算机程序语言的类文件中的代码逻辑。302、将第一计算机程序语言的类文件中的数据拷贝到第二计算机程序语言的类文件中。在上述或下述实施例中,需要将第二计算机程序语言的类文件打包成可被待适配计算平台可以直接调用并执行的资源文件包。一种将第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件的一种可选实施方式如图4所示,包括以下步骤:401、将采用第一计算机程序语言编写的UDF、第一计算机程序语言的类文件打包成第一计算机程序语言对应的文件包,并存放到第一文件目录下。402、将第一计算机程序语言对应的文件包和第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件包,并存储到第二文件目录下。可选地,在步骤401中,可以采用与第一计算机程序语言相关的打包工具进行打包;在步骤402中,可以采用与第二计算机程序语言相关的打包工具进行打包,以便于加快打包速度。在该可选实施方式中,先将与第一计算机程序语言相关的文件打包成第一计算机程序语言对应的文件包,再将与第二计算机程序语言相关的文件以及第一计算机程序语言对应的文件包一并打包,形成可被待适配计算平台直接调用的资源文件包。该资源文件包包含各种文件,例如采用第一计算机程序语言编写的UDF的源代码等,这样用户可以根据实际的需求对源代码等文件进行编辑和修改,以与实际需求相契合。经过上述实施例,待适配计算平台只需调用并执行存储在第二文件目录下的资源文件包,便可实现对第一计算机程序语言编写的UDF的调用,实现该UDF对应的功能。需要说明的是,上述或下述实施例中,第一计算机程序语言可以是面向对象的Python语言,相应地,第二计算机程序语言可为C语言、C++语言、Java语言等;待适配计算平台可以是ODPS平台、SPARK平台、BLINK平台、HIVE平台、FLINK平台,但不限于此。值得说明的是,上述实施例提供的方法逻辑可实现为一计算机软件,该计算机软件的框架如图5所示,包括:适配类PyUDFAdapter、代理类PyUDFProxy、创建类PyUDFBuild以及命令类PyUDFCommand。PyUDFCommand可支持UDF编译命令和UDF打包命令。为了更清楚的说明本申请实施例的技术方案,结合图5所示软件框架图,以将面向OPDS平台采用Python语言编写的UDF迁移到支持Java语言的HIVE平台为例,对其中的UDF适配流程进行说明。在该流程中,Python语言是第一计算机程序语言,Java语言是第二计算机程序语言,HIVE平台是待适配计算平台。该UDF适配流程如下:首先,PyUDFCommand向用户提供命令行窗口。用户通过命令行窗口向PyUDFCommand发出UDF编译命令或UDF打包命令。其中,UDF编译命令或UDF打包命令中携带有HIVE平台所支持的UDF二次开发接口的信息。其中,HIVE平台所支持的UDF二次开发接口的信息可参见前述实施例给出的示例。然后,PyUDFCommand响应于用户发送的UDF编译命令或UDF打包命令,获取面向ODPS平台采用Python语言编写的UDF“uer-biz-udf.py”。uer-biz-udf.py是UDF的文件名。接着,PyUDFAdapter获取UDF“uer-biz-udf.py”,并根据UDF编译命令或UDF打包命令中携带的HIVE平台所支持的UDF二次开发接口的信息,将Python语言编写的UDF“uer-biz-udf.py”转换为Python语言的类文件。接下来,PyUDFProxy基于HIVE平台使用的Java语言的语法格式,将Python语言的类文件编译成Java语言的类文件。可选地,PyUDFProxy可以采用Python编译器,例如Jython,将Python语言的类文件编译成Java语言的类文件。最后,若用户发出的是UDF打包命令,则PyUDFBuild可将Java语言的类文件打包成可被HIVE平台直接调用并执行的资源文件包,即PyUDF.JAR。这样,HIVE平台直接调用PyUDF.JAR,即可实现UDF“uer-biz-udf.py”的功能。可选地,PyUDFBuild可以采用Python语言适用的打包工具,例如Setuptools,将Python编写的UDF“uer-biz-udf.py”、Python语言的类文件打包成Python包,并存放在第一文件目录下;进而,可采用Java语言适用的打包工具,例如deploy,将Python包和Java语言的类文件打包成JAR包,即PyUDF.JAR,并存放在第二文件目录下。在一可选实施例中,用户可以先发出UDF编译命令,以便先编译出Java类;然后,在需要的时候,再发出UDF打包命令,以便将Java打包成JAR包,即PyUDF.JAR。除上述方法实施例之外,本申请实施例还提供一种UDF适配装置。如图6a所示,该UDF适配装置包括:命令模块61、适配模块62、编译模块63和打包模块64。命令模块61,用于响应于UDF适配指令,获取采用第一计算机程序语言编写的UDF;适配模块62,用于根据待适配计算平台所支持的UDF二次开发接口的信息,将采用第一计算机程序语言编写的UDF转换为第一计算机程序语言的类文件;编译模块63,用于基于待适配计算平台使用的第二计算机程序语言的语法格式,将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件;打包模块64,用于将第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件包。在一可选实施方式中,命令模块61具体用于:响应于用户输入的UDF编译命令,获取采用第一计算机程序语言编写的UDF。相应地,打包模块64具体用于:响应于用户输入的UDF打包指令,将第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件包。在一可选实施方式中,命令模块61具体用于:响应于用户输入的UDF打包命令,获取采用第一计算机程序语言编写的UDF。在一可选实施方式中,适配模块62具体用于:将采用第一计算机程序语言编写的UDF作为第一计算机程序语言的类文件中的主体函数拷贝至第一计算机程序语言的类文件中;将待适配计算平台所支持的UDF二次开发接口的信息添加至第一计算机程序语言的类文件的类头中。在一可选实施方式中,编译模块63具体用于:按照第二计算机程序语言的语法格式,在第二计算机程序语言的类文件中实现第一计算机程序语言的类文件中的代码逻辑;将第一计算机程序语言的类文件中的数据拷贝到第二计算机程序语言的类文件中。在一可选实施方式中,打包模块64具体用于:将采用第一计算机程序语言编写的UDF、第一计算机程序语言的类文件打包成第一计算机程序语言对应的文件包,并存放到第一文件目录下;将第一计算机程序语言对应的文件包和第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件包,并存储到第二文件目录下。在一可选实施方式中,第一计算机程序语言是面向对象的python语言,第二计算机程序语言是java语言。图6b为本申请又一实施例提供的一种计算机设备的结构示意图。如图6b所示,该计算机设备包括:存储器60a和处理器60b。其中,存储器60a,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算机设备上的操作。这些数据的示例包括用于在计算机设备上操作的任何其它应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器60a可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器SRAM,电可擦除可编程只读存储器EEPROM,可擦除可编程只读存储器EPROM,可编程只读存储器PROM,只读存储器ROM,磁存储器,快闪存储器,磁盘或光盘。处理器60b,与存储器60a耦合,用于执行存储器60a中存储的计算机程序,以用于:响应于UDF适配指令,获取采用第一计算机程序语言编写的UDF;根据待计算平台所支持的UDF二次开发接口的信息,将采用第一计算机程序语言编写的UDF转换为第一计算机程序语言的类文件;基于待适配计算平台使用的第二计算机程序语言的语法格式,将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件;将第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件包。在一可选实施例中,待适配计算平台的功能可由处理器执行其它计算机程序来实现,该其它计算机程序可安装于本实施例提供的计算机设备上实现。即该计算机设备除了具有UDF适配功能之外,也可以实现待适配计算平台的功能。在一可选实施例中,处理器60b在获取采用第一计算机程序语言编写的UDF时,具体用于:响应于用户输入的UDF编译命令,获取采用第一计算机程序语言编写的UDF。相应地,处理器60b在打包上述资源文件包时,具体用于:响应于用户输入的UDF打包指令,将第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件包。在另一可选实施例中,处理器60b在获取采用第一计算机程序语言编写的UDF时,具体用于:响应于用户输入的UDF打包命令,获取采用第一计算机程序语言编写的UDF。可选地,处理器60b在将采用第一计算机程序语言编写的UDF转换为第一计算机程序语言的类文件时,具体用于:将采用第一计算机程序语言编写的UDF作为第一计算机程序语言的类文件中的主体函数拷贝至第一计算机程序语言的类文件中;将待适配计算平台所支持的UDF二次开发接口的信息添加至第一计算机程序语言的类文件的类头中。进一步,处理器60b在将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件时,具体用于:按照第二计算机程序语言的语法格式,在第二计算机程序语言的类文件中实现第一计算机程序语言的类文件中的代码逻辑;将第一计算机程序语言的类文件中的数据拷贝到第二计算机程序语言的类文件中。基于上述,处理器60b在打包资源文件包时,具体用于:将采用第一计算机程序语言编写的UDF、第一计算机程序语言的类文件打包成第一计算机程序语言对应的文件包,并存放到第一文件目录下;将第一计算机程序语言对应的文件包和第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件包,并存储到第二文件目录下。进一步,如图6b所示,计算机设备还包括:通信组件60c、显示器60d、电源组件60e、音频组件60f等其它组件。图6b中仅示意性给出部分组件,并不意味着电子设备只包括图6b所示组件。本实施例提供的计算机设备,结合待适配计算平台所支持的UDF二次开发接口的信息,对采用第一计算机程序语言编写的UDF做平台适配,将采用第一计算机程序语言编写的UDF转换待适配计算平台所支持的类文件,进而根据待适配计算平台使用的第二计算机程序语言的语法格式,将该类文件进行编译和打包成待适配计算平台可调用的资源文件包。这使得采用第一计算机程序语言编写的UDF可被无缝迁移到不同计算平台上,使得UDF可跨平台使用,达到一处开发,多处使用的效果,提高了UDF的使用灵活性,进而可降低UDF的开发成本。相应地,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序。该计算机程序被处理器执行时,致使处理器执行以下动作:响应于UDF适配指令,获取采用第一计算机程序语言编写的UDF;根据待适配计算平台所支持的UDF二次开发接口的信息,将采用第一计算机程序语言编写的UDF转换为第一计算机程序语言的类文件;基于待适配计算平台使用的第二计算机程序语言的语法格式,将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件;将第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件包。可选地,上述计算机程序包括:适配类程序指令、代理类程序指令、部署类程序指令以及命令行类程序指令。该计算机程序的软件框架可参见图5。当命令行类程序指令被处理器执行时,致使处理器执行动作:响应于用户输入的UDF编译命令或UDF打包命令,获取采用第一计算机程序语言编写的UDF。进一步,当适配类程序指令被处理器执行时,致使处理器执行动作:根据待计算平台所支持的UDF二次开发接口的信息,将采用第一计算机程序语言编写的UDF转换为第一计算机程序语言的类文件。相应地,当代理类程序指令被所述处理器执行时,致使处理器执行动作:基于待适配计算平台使用的第二计算机程序语言的语法格式,将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件。进一步,当部署类程序指令被处理器执行时,致使处理器执行动作:将第二计算机程序语言的类文件打包成可被待适配计算平台直接调用并执行的资源文件包。可选地,待适配计算平台的功能可由处理器执行其它计算机程序来实现,该其它计算机程序可存储在本实施例提供的计算机可读存储介质中。当然,用于实现待适配计算平台的功能的其它计算机程序也可以存储在其它计算机可读存储介质中。其它计算机程序不同于本实施例提供的计算机可读存储介质中存储的计算机程序;相应地,其它计算机可读存储介质不同于本实施例提供的计算机可读存储介质。图7a为本申请又一示例性实施例提供的一种数据处理方法的流程图。如图7a所示,该方法包括:701、获取采用第一计算机程序语言编写的UDF及开发接口信息。702、根据上述开发接口信息,将UDF转换为第一计算机程序语言的类文件。703、根据第二计算机程序语言的语法格式,将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件。本实施例提供的方法可由计算机设备来执行。计算机设备执行本实施例提供的方法,可以根据开发接口信息将采用第一计算机程序语言编写的UDF转换为第一计算机程序语言的类文件;进而可根据第二计算机程序语言的语法格式,将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件。可选地,开发接口信息可以是针对UDF进行二次开发的接口信息。其中,对UDF具有二次开发需求的对象可以是任何计算平台或设备,对此不做限定。另外,对UDF具有二次开发需求的对象不同,相应地,开发接口信息也会有所不同。这样,经过不同开发接口信息,可以将UDF转换成不同平台或设备可识别和支持的第一计算机程序语言的类文件,可满足不同平台或设备对UDF的个性化需求。可选地,可以预先采用第一计算机程序语言编写UDF,并将该UDF存储至可被计算机设备访问的存储空间中,以便计算机设备从该存储空间中读取该UDF。其中,可以在该计算机设备上采用第一计算机程序语言编写UDF,或者,也可以在其它设备上采用第一计算机程序语言编写UDF。可选地,可以预先根据对UDF具有二次开发需求的计算平台或设备的开发需求编写开发接口信息。进一步,在获得第二计算机程序语言的类文件之后,还可基于第二计算机程序语言的类文件,生成可执行文件。这样,支持第二计算机程序语言的各设备,例如各种计算平台,可以直接调用并执行该可执行文件,从而实现UDF所定义的功能,使得UDF可跨平台使用,达到一处开发,多处使用的效果,提供UDF的使用灵活性,降低开发成本。图7b为本申请又一示例性实施例提供的另一种计算机设备的结构示意图。如图7b所示,该计算机设备包括:存储器70a和处理器70b。存储器70a,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算机设备上的操作。这些数据的示例包括用于在计算机设备上操作的任何其它应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器70a可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器SRAM,电可擦除可编程只读存储器EEPROM,可擦除可编程只读存储器EPROM,可编程只读存储器PROM,只读存储器ROM,磁存储器,快闪存储器,磁盘或光盘。处理器70b,与存储器70a耦合,用于执行存储器70a中存储的计算机程序,以用于:获取采用第一计算机程序语言编写的UDF及开发接口信息;根据开发接口信息,将UDF转换为第一计算机程序语言的类文件;根据第二计算机程序语言的语法格式,将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件。进一步,处理器70b在获得第二计算机程序语言的类文件之后,还可基于第二计算机程序语言的类文件,生成可执行文件。这样,支持第二计算机程序语言的各设备,例如各种计算平台,可以直接调用并执行该可执行文件,从而实现UDF所定义的功能,使得UDF可跨平台使用,达到一处开发,多处使用的效果,提供UDF的使用灵活性,降低开发成本。进一步,如图7b所示,计算机设备还包括:通信组件70c、显示器70d、电源组件70e、音频组件70f等其它组件。图7b中仅示意性给出部分组件,并不意味着电子设备只包括图7b所示组件。进一步,本申请实施例还提供另一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,致使处理器执行包括以下的动作:获取采用第一计算机程序语言编写的用户自定义函数UDF及开发接口信息;根据开发接口信息,将UDF转换为第一计算机程序语言的类文件;根据第二计算机程序语言的语法格式,将第一计算机程序语言的类文件编译成第二计算机程序语言的类文件。进一步,处理器还可执行以下动作:基于第二计算机程序语言的类文件,生成可执行文件。在图6b和图7b中的通信组件,可被配置为便于通信组件所属设备和其他设备之间有线或无线方式的通信。通信组件所属设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信NFC模块,以促进短程通信。例如,在NFC模块可基于射频识别RFID技术,红外数据协会IrDA技术,超宽带UWB技术,蓝牙BT技术和其他技术来实现。在图6b和图7b中的显示器,可以包括屏幕,其屏幕可以包括液晶显示器LCD和触摸面板TP。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在图6b和图7b中的电源组件,为电源组件所属设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所属设备生成、管理和分配电力相关联的组件。在图6b和图7b中的音频组件,被配置为输出和或输入音频信号。例如,音频组件包括一个麦克风MIC,当音频组件所属设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。需要说明的是,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如401、402等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质包括但不限于磁盘存储器、CD-ROM、光学存储器等上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备系统、和计算机程序产品的流程图和或方框图来描述的。应理解可由计算机程序指令实现流程图和或方框图中的每一流程和或方框、以及流程图和或方框图中的流程和或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算设备包括一个或多个处理器CPU、输入输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器RAM和或非易失性内存等形式,如只读存储器ROM或闪存flashRAM。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存PRAM、静态随机存取存储器SRAM、动态随机存取存储器DRAM、其他类型的随机存取存储器RAM、只读存储器ROM、电可擦除可编程只读存储器EEPROM、快闪记忆体或其他内存技术、只读光盘只读存储器CD-ROM、数字多功能光盘DVD或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体transitorymedia,如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

权利要求:1.一种自定义函数UDF适配方法,其特征在于,包括:响应于UDF适配指令,获取采用第一计算机程序语言编写的UDF;根据待适配计算平台所支持的UDF二次开发接口的信息,将所述采用第一计算机程序语言编写的UDF转换为所述第一计算机程序语言的类文件;基于所述待适配计算平台使用的第二计算机程序语言的语法格式,将所述第一计算机程序语言的类文件编译成所述第二计算机程序语言的类文件;将所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包。2.根据权利要求1所述的方法,其特征在于,所述响应于UDF适配指令,获取采用第一计算机程序语言编写的UDF,包括:响应于用户输入的UDF编译命令,获取采用第一计算机程序语言编写的UDF;所述将所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包,包括:响应于用户输入的UDF打包指令,将所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包。3.根据权利要求1所述的方法,其特征在于,所述响应于UDF适配指令,获取采用第一计算机程序语言编写的UDF,包括:响应于用户输入的UDF打包命令,获取采用第一计算机程序语言编写的UDF。4.根据权利要求1所述的方法,其特征在于,所述根据待适配计算平台所支持的UDF二次开发接口的信息,将所述采用第一计算机程序语言编写的UDF转换为所述第一计算机程序语言的类文件,包括:将所述采用第一计算机程序语言编写的UDF作为所述第一计算机程序语言的类文件中的主体函数拷贝至所述第一计算机程序语言的类文件中;将所述待适配计算平台所支持的UDF二次开发接口的信息添加至所述第一计算机程序语言的类文件的类头中。5.根据权利要求1所述的方法,其特征在于,所述基于所述待适配计算平台使用的第二计算机程序语言的语法格式,将所述第一计算机程序语言的类文件编译成所述第二计算机程序语言的类文件,包括:按照所述第二计算机程序语言的语法格式,在所述第二计算机程序语言的类文件中实现所述第一计算机程序语言的类文件中的代码逻辑;将所述第一计算机程序语言的类文件中的数据拷贝到所述第二计算机程序语言的类文件中。6.根据权利要求1所述的方法,其特征在于,所述将所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包,包括:将所述采用第一计算机程序语言编写的UDF、所述第一计算机程序语言的类文件打包成所述第一计算机程序语言对应的文件包,并存放到第一文件目录下;将所述第一计算机程序语言对应的文件包和所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包,并存储到第二文件目录下。7.根据权利要求1-6任一项所述的方法,其特征在于,所述第一计算机程序语言是面向对象的python语言,所述第二计算机程序语言是java语言。8.一种计算机设备,其特征在于,包括:存储器和处理器;所述存储器,存储有计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:响应于UDF适配指令,获取采用第一计算机程序语言编写的UDF;根据待计算平台所支持的UDF二次开发接口的信息,将所述采用第一计算机程序语言编写的UDF转换为所述第一计算机程序语言的类文件;基于所述待适配计算平台使用的第二计算机程序语言的语法格式,将所述第一计算机程序语言的类文件编译成所述第二计算机程序语言的类文件;将所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包。9.根据权利要求8所述的计算机设备,其特征在于,所述处理器在获取采用第一计算机程序语言编写的UDF时,具体用于:响应于用户输入的UDF编译命令,获取采用第一计算机程序语言编写的UDF;所述处理器在打包所述资源文件包时,具体用于:响应于用户输入的UDF打包指令,将所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包。10.根据权利要求8所述的计算机设备,其特征在于,所述处理器在获取采用第一计算机程序语言编写的UDF时,具体用于:响应于用户输入的UDF打包命令,获取采用第一计算机程序语言编写的UDF。11.根据权利要求8所述的计算机设备,其特征在于,所述处理器在将所述采用第一计算机程序语言编写的UDF转换为所述第一计算机程序语言的类文件时,具体用于:将所述采用第一计算机程序语言编写的UDF作为所述第一计算机程序语言的类文件中的主体函数拷贝至所述第一计算机程序语言的类文件中;将所述待适配计算平台所支持的UDF二次开发接口的信息添加至所述第一计算机程序语言的类文件的类头中。12.根据权利要求8所述的计算机设备,其特征在于,所述处理器在将所述第一计算机程序语言的类文件编译成所述第二计算机程序语言的类文件时,具体用于:按照所述第二计算机程序语言的语法格式,在所述第二计算机程序语言的类文件中实现所述第一计算机程序语言的类文件中的代码逻辑;将所述第一计算机程序语言的类文件中的数据拷贝到所述第二计算机程序语言的类文件中。13.根据权利要求8-12任一项所述的计算机设备,其特征在于,所述处理器在打包所述资源文件包时,具体用于:将所述采用第一计算机程序语言编写的UDF、所述第一计算机程序语言的类文件打包成所述第一计算机程序语言对应的文件包,并存放到第一文件目录下;将所述第一计算机程序语言对应的文件包和所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包,并存储到第二文件目录下。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序;所述计算机程序被处理器执行时,致使所述处理器执行包括以下的动作:响应于UDF适配指令,获取采用第一计算机程序语言编写的UDF;根据待计算平台所支持的UDF二次开发接口的信息,将所述采用第一计算机程序语言编写的UDF转换为所述第一计算机程序语言的类文件;基于所述待适配计算平台使用的第二计算机程序语言的语法格式,将所述第一计算机程序语言的类文件编译成所述第二计算机程序语言的类文件;将所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包。15.根据权利要求14所述的计算机可读存储介质,其特征在于,所述第一计算机程序包括:适配类程序指令、代理类程序指令、部署类程序指令以及命令行类程序指令;所述命令行类程序指令被所述处理器执行时,致使所述处理器执行动作:响应于用户输入的UDF编译命令或UDF打包命令,获取采用第一计算机程序语言编写的UDF;所述适配类程序指令被所述处理器执行时,致使所述处理器执行动作:根据所述待适配计算平台所支持的UDF二次开发接口的信息,将所述采用第一计算机程序语言编写的UDF转换为所述第一计算机程序语言的类文件;所述代理类程序指令被所述处理器执行时,致使所述处理器执行动作:基于所述待适配计算平台使用的第二计算机程序语言的语法格式,将所述第一计算机程序语言的类文件编译成所述第二计算机程序语言的类文件;所述部署类程序指令被所述处理器执行时,致使所述处理器执行动作:将所述第二计算机程序语言的类文件打包成可被所述待适配计算平台直接调用并执行的资源文件包。16.一种数据处理方法,其特征在于,包括:获取采用第一计算机程序语言编写的用户自定义函数UDF及开发接口信息;根据所述开发接口信息,将所述UDF转换为所述第一计算机程序语言的类文件;根据第二计算机程序语言的语法格式,将所述第一计算机程序语言的类文件编译成所述第二计算机程序语言的类文件。17.根据权利要求16所述的方法,其特征在于,还包括:基于所述第二计算机程序语言的类文件,生成可执行文件。

百度查询: 阿里巴巴集团控股有限公司 UDF适配方法、数据处理方法、设备及存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。