码迷,mamicode.com
首页 > 其他好文 > 详细

HIVE UDF

时间:2020-12-28 11:17:44      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:code   repos   key   ora   bsp   rar   rgb   java   index   

1、MAVEN依赖
<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-exec -->
<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-exec</artifactId>
    <version>1.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common -->
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-common</artifactId>
    <version>2.7.3</version>
</dependency>
 
2、官方示例
https://cwiki.apache.org/confluence/display/Hive/HivePlugins
 
package  com.example.hive.udf;
 
import  org.apache.hadoop.hive.ql.exec.UDF;
import  org.apache.hadoop.io.Text;
 
public  final  class  Lower  extends  UDF {
   public  Text evaluate( final  Text s) {
     if  (s ==  null ) {  return  null ; }
     return  new  Text(s.toString().toLowerCase());
   }
}
 
 
3、创建函数
    临时函数,关闭连接后,函数失效:
        a)把程序打包放到目标机器上去;
 
?        b)进入hive客户端,添加jar包:hive>add jar /run/jar/udf_test.jar;
 
?        c)创建临时函数:hive>CREATE TEMPORARY FUNCTION add_example AS ‘hive.udf.Add‘;
 
?        d)查询HQL语句:
 
?            SELECT add_example(8, 9) FROM scores;
 
?            SELECT add_example(scores.math, scores.art) FROM scores;
 
?            SELECT add_example(6, 7, 8, 6.8) FROM scores;
 
?        e)销毁临时函数:hive> DROP TEMPORARY FUNCTION add_example;
 
?        注意:此种方式创建的函数属于临时函数,当关闭了当前会话之后,函数会无法使用,因为jar的引用没有了,无法找到对应的java文件进行处理,因此不推荐使用。
 
 
永久函数,调用函数会自动加jar包
       将jar包上传到hdfs集群中:
 
?        a)把程序打包上传到hdfs的某个目录下
 
?        b)创建函数:hive>CREATE FUNCTION add_example AS ‘hive.udf.Add‘ using jar "hdfs://mycluster/jar/udf_test.jar";
 
?        d)查询HQL语句:
 
?            SELECT add_example(8, 9) FROM scores;
 
?            SELECT add_example(scores.math, scores.art) FROM scores;
 
?            SELECT add_example(6, 7, 8, 6.8) FROM scores;
 
?        e)销毁永久函数:hive> DROP  FUNCTION add_example;
 
 
 
 
 
 

HIVE UDF

标签:code   repos   key   ora   bsp   rar   rgb   java   index   

原文地址:https://www.cnblogs.com/windtalker/p/14170933.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!