博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
10_Hive自定义函数UDF
阅读量:7208 次
发布时间:2019-06-29

本文共 903 字,大约阅读时间需要 3 分钟。

Hive官方的UDF手册地址是:

1.使用内置函数的快捷方法:

创建一个表dual,load数据到dual表,然后尝试内置函数

1.Hive自定义函数:

 当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function)

1.1.Hive自定义函数类别:

 UDF  作用于单个数据行,产生一个数据行作为输出。(数学函数,字符串函数)

 UDAF(用户定义聚集函数):接收多个输入数据行,并产生一个输出数据行。(count,max)

1.2.Hive自定义函数UDF开发示例:

  自定义函数实现ToLowerCase的功能

  1.新建java工程,并将Hive中的lib目录下面的Jar包导入到项目中去;

  2.代码如下:先开发一个java类,继承UDF,并重载evaluate方法

package cn.hive.demo;import org.apache.hadoop.hive.ql.exec.UDF;public class ToLowerCase extends UDF{    /*必须是public*/    public String evaluate(String field){        return field.toLowerCase();    }}

  3.将java工程打成jar包,然后上传到服务器,然后执行下面的代码:

    hive> add jar /data/udf.jar;(jar包添加到hive的classpath)

    

  4.创建临时函数与开发好的java class关联:

    Hive>create temporary function tolow as 'cn.hive.demo.ToLowerCase';

  5.使用自定义函数:

    Hive>select id,tolow(name) from t_low;

  

 

 

 

 

 

    

  

  

 

转载于:https://www.cnblogs.com/yaboya/p/9294223.html

你可能感兴趣的文章
react生命周期
查看>>
质因子分解
查看>>
Django搭建个人博客:文章标签功能
查看>>
Docker学习笔记
查看>>
61. Rotate List
查看>>
Linux CTF 逆向入门
查看>>
LeetCode-数组-三数之和
查看>>
Alain 菜单权限控制
查看>>
spring + angular 实现导出excel
查看>>
Linux环境升级node版本
查看>>
Linux快速复制或删除大量小文件
查看>>
怎么解决在微信中不能直接下载APP(APK)的方案
查看>>
从0到1,了解NLP中的文本相似度
查看>>
【C++】 54_被遗弃的多重继承 (下)
查看>>
一篇文章入门Flask
查看>>
Redis笔记(一)
查看>>
前端开发如何做好本地接口模拟
查看>>
Vue项目部署遇到的问题及解决方案
查看>>
Python 基础起步(一)写在开篇的话,写给同为小白的你
查看>>
webpack入门学习手记(一)
查看>>