一、Hive可以允许用户编写自己定义的函数UDF,来在查询中使用。

Hive中有3种UDF:

       UDF:操作单个数据行,产生单个数据行;

       UDAF:操作多个数据行,产生一个数据行。

       UDTF:操作一个数据行,产生多个数据行一个表作为输出。

 

二、编写自己定义的函数UDF

      第一步:继承UDF或者UDAF或者UDTF,实现特定的方法。

      第二步:将写好的类打包为jar。如hivefirst.jar.

      第三步:进入到Hive外壳环境中,利用add jar /home/hadoop/hivefirst.jar.注册该jar文件

      第四步:为该类起一个别名,create temporary function mylength as 'com.whut.StringLength';这里注意UDF只是为这个Hive会话临时定义的。

      第五步:在select中使用mylength();