Hive 配置单元:配置单元UDF中创建函数和创建临时函数的区别

Hive 配置单元:配置单元UDF中创建函数和创建临时函数的区别,hive,bigdata,hiveql,hive-udf,Hive,Bigdata,Hiveql,Hive Udf,我是新来的蜂巢,我正在从事一个项目,我需要创建一些UDF来进行数据争论。在我的研究过程中,我遇到了两种从添加的JAR创建UDF的语法 CREATE FUNCTION country AS 'com.hiveudf.employeereview.Country'; CREATE TEMPORARY FUNCTION country AS 'com.hiveudf.employeereview.Country'; 我找不到上述两种方式的任何区别。有人能给我解释一下或者指导我找到合适的材料吗?创建

我是新来的蜂巢,我正在从事一个项目,我需要创建一些UDF来进行数据争论。在我的研究过程中,我遇到了两种从添加的JAR创建UDF的语法

CREATE FUNCTION country AS 'com.hiveudf.employeereview.Country';

CREATE TEMPORARY FUNCTION country AS 'com.hiveudf.employeereview.Country';

我找不到上述两种方式的任何区别。有人能给我解释一下或者指导我找到合适的材料吗?

创建功能和创建tmp功能的主要区别是: 在Hive 0.13或更高版本中,可以将函数注册到metastore,以便在查询中引用它们,而无需在每个会话中创建临时函数

如果使用createtemporary函数,那么每次启动新会话时都必须重新创建该函数


参考:

创建临时函数
创建一个新函数,只要会话持续,您就可以在配置单元查询中使用该函数。这会更快,因为我们不需要将函数注册到megastore。 而
创建函数
的作用更持久。这些函数可以注册到metastore,因此可以在查询中引用它们,而无需在每个会话中创建临时函数

何时使用
: 中间函数可以使用
TEMPORARY
创建,其目的只是计算,以后可以由任何永久函数使用。

谢谢。现在它增加了很多意义。