Hive:Hive UDF 中的 CREATE FUNCTION 和 CREATE TEMPORARY FUNCTION



我是蜂巢的新手,我正在做一个项目,我需要创建一些 UDF 用于数据整理。在我的研究过程中,我遇到了两种从添加的jar创建UDF的语法

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

我无法在上述两种方式中找到任何区别。有人可以向我解释或指导我找到正确的材料吗?

创建函数和创建 tmp 函数之间的主要区别在于: 在 Hive 0.13 或更高版本中,可以将函数注册到元存储,因此可以在查询中引用它们,而无需在每个会话中创建临时函数。

如果我们使用 创建临时函数 ,每次启动新会话时,我们都必须重新创建该函数。

参考: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Create/Drop/ReloadFunction

>CREATE TEMPORARY FUNCTION创建一个新函数,只要会话持续,您就可以在 Hive 查询中使用。这更快,因为我们不需要将函数注册到大型商店。 而CREATE FUNCTION的行为更持久。这些函数可以注册到元存储,因此可以在查询中引用它们,而无需在每个会话中创建临时函数。

When to use: 中间函数可以使用TEMPORARY创建,该旨在仅计算,以后可以由任何永久函数使用。 参考

相关内容

  • 没有找到相关文章

最新更新