创建/删除函数
创建临时函数
下面的语句创建由class_name实现的临时函数,该函数被创建后只能够在当前会话中使用,会话结束后函数失效。实现函数的类可以是Hive类路径中的任意类,可以使用Add Jar语句向Hive类路径添加类。
CREATE TEMPORARY FUNCTION function_name AS class_name
删除临时函数
使用下面的语句可以删除当前会话中的临时函数:
DROP TEMPORARY FUNCTION [IF EXISTS] function_name
创建永久函数
在Hive-0.13版本及之后的版本中,自定义函数可以被注册到元存储中,这样用户可以在每次会话中都引用函数而不必每次都创建函数。下面是创建永久函数的语句:
CREATE FUNCTION[db_name.]function_name AS class_name [USINGJAR|FILE|ARCHIVE 'file_uri' [, JAR|FILE|ARCHIVE 'file_uri'] ]
在该语句中可以使用USING从句添加Jar文件、普通文件或者归档文件,当函数第一次使用时,这些文件将会添加到Hive环境中。若Hive不是以本地模式运行,file_uri是非本地URI,比如可以使HDFS路径。可以使用参数hive.exec.mode.local.auto设置本地模式,将该参数的值设置为true则为本地模式