1
为什么要写UDF函数
有时候hive自带的函数不能满足当前需要,需要自定义函数来解决问题
2
UDF,UDAF,UDTF的比较
UDF操作作用于单个数据行,并且产生一个数据行作为输出。大多数函数都属于这一类(比如数学函数和字符串函数)。
UDAF 接受多个输入数据行,并产生一个输出数据行。像COUNT和MAX这样的函数就是聚集函数。
UDTF 操作作用于单个数据行,并且产生多个数据行,一个表作为输出。lateral view explore()
简单来说:
UDF:返回对应值,一对一
UDAF:返回聚类值,多对一
UDTF:返回拆分值,一对多
3
UDF函数开发
1
代码
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base64加密函数
package com.wedoctor;
base64解密函数
package com.wedoctor;
2
打包上传到运行hive所在的服务器
hive> add jar /usr/local/udf_demo.jar;
3
创建临时函数
hive> create temporary function test_en as 'com.wedoctor.Base64Encrypt';
4
加解密临时函数测试
hive> select test_en('1234');
hive> select test_de('MTIzNA==');
如何优化整个数仓的执行时长(比如7点所有任务跑完,如何优化到5点)
深入探究order by,sort by,distribute by,cluster by
本文分享自微信公众号 - 大数据私房菜(datagogogo)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。