hive:hiveudf中create函数和create临时函数的区别

iszxjhcz  于 2021-07-13  发布在  Hive
关注(0)|答案(2)|浏览(427)

我是新来的Hive,我在一个项目上工作,我需要创建一些自定义项的数据争论。在我的研究中,我遇到了两种从添加的jar创建udf的语法

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

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

我找不出以上两种方法有什么不同。有没有人能给我解释一下,或者指导我找到合适的材料?

lokaqttq

lokaqttq1#

create function和create tmp function的主要区别在于:在hive0.13或更高版本中,可以将函数注册到metastore,这样就可以在查询中引用它们,而无需在每个会话中创建临时函数。
如果使用create temporary函数,则每次启动新会话时都必须重新创建该函数。
参考文献:https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl#languagemanualddl-创建/删除/重新加载函数

ukqbszuj

ukqbszuj2#

CREATE TEMPORARY FUNCTION 创建一个新函数,只要会话持续,就可以在配置单元查询中使用该函数。这是更快的,因为我们不需要注册功能到megastore。鉴于 CREATE FUNCTION 表现得更持久。这些函数可以注册到metastore,这样就可以在查询中引用它们,而无需在每个会话中创建临时函数。 When to use :可以使用创建中间函数 TEMPORARY 它的目的只是计算,以后可以被任何永久函数使用。参考

相关问题