显示内置的函数
show functions;
创建自定义函数的步骤(这个属于临时函数)
第一步:写Java代码,在pom文件中引入Hadoop和hive的相关依赖
第二步:写自定义函数,需要继承UDF函数,重载evaluate这个方法
package com.wzx.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
public class TestUdf extends UDF {
public String evaluate(String s){
if(null!=s){
return s.toLowerCase();
}
return null;
}
}
第三步:把工程打成jar包放到服务器上,然后加载jar包到hive的lib下的路径
hive> add jar /root/lower.jar; Added [/root/lower.jar] to class path Added resources: [/root/lower.jar]
第四步:创建函数的名称,需要加上这个类的全路径名称
create temporary function tolowercase as 'com.wzx.udf.TestUdf';
第五步:可以用这个函数了
select tolowercase('ABCD') from dual;
注意:这个函数只在当前窗口中有效,在不同的库中也有效,只要换了窗口就失效了
CDH集群中需要的代码
4.0.0 udf udf 1.0-SNAPSHOT 2.6.0-cdh5.13.1 1.1.0-cdh5.13.1 cloudera http://repository.cloudera.com/artifactory/cloudera-repos org.apache.hadoop hadoop-common ${hadoop.version} org.apache.hive hive-exec ${hive.version} junit junit 4.10 test



