hive编写自定义UDF函数
需求:hive表email_status_result中有个邮箱(receiver )字段,查询结果需要脱敏展示,表结构如下
CREATE TABLE email_status_result(
receiver STRING,
email_status STRING,
status_count INT
)COMMENT 'email_status aggregation data'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
未脱敏情况下查询 select receiver from email_status_result limit 10
解决方案:
UDF分为三种,分别如下
1、UDF(User-Defined-Function),一进一出(输入一行,输出一行),比如:lowser()等。
2、UDAF(User-Defined Aggregation Funcation),多进一出(输入多行,输出一行),比如:avg()等。
3、UDTF(User-Defined Table-Generating Functions),一进多出(输入一行,输出多行),比如:collect_set()
该脱敏需求符合输入一行,输出一行,因此我们采取UDF实现
1、代码实现
public class EncrptEmailUdf extends UDF {private String getEncrpEmail(String email) {String user = email.split("@")[0];String newEmail = "";if (user.length() > 1) {newEmail = String.format("%s%s%s", user.substring(0, 1),DigestUtils.md5Hex(email),user.substring(user.length() - 1));} return newEmail;
}public String evaluate(String email) {return getEncrpEmail(email);}}
2、通过eclipse等工具导出encrptEmail.jar并上传encrptEmail.jar到客户端服务器/opt/目录下
3、进入hive客户端执行
hive> add jar /opt/encrptEmail.jar
4、创建临时函数
hive> create temporary function encrptEmail as 'com.sohu.sc.tool.EncrptEmailUdf';
5、脱敏查询
hive>select encrptEmail(receiver) from email_status_result limit 10
hive编写自定义UDF函数相关推荐
- 5、Hive的自定义UDF函数
2019独角兽企业重金招聘Python工程师标准>>> 1.pom.xml引入依赖及打包 <dependencies><dependency><grou ...
- HIVE自定义UDF函数-经纬度转换成省市地址
目录 1.需求背景 2.解决方案 3.代码pom引用 4.代码集成UDF 5.编译jar包 6.使用说明 7.将jar包放到hdfs 8.创建持久化function 9.测试 10.结语 1.需求背景 ...
- java调mongodb自定义函数,自定义UDF函数,从hive保存到mongodb
(可以通过idea工具调试UDF函数,第二步中会提供参考) 一.自定义UDF函数: 1.首先是pom.xml文件 xmlns:xsi="http://www.w3.org/2001/XMLS ...
- Hadoop生态圈-hive编写自定义函数
Hadoop生态圈-hive编写自定义函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Hive _函数(系统内置函数、自定义函数、自定义UDF函数)
函数 系统内置函数 1.查看系统自带的函数 show functuions; 2.显示自带的函数的用法 desc function month; 3.详细显示自带的函数的用法 desc functio ...
- hive 转拼音udf_自定义UDF函数:将汉字转换成拼音
工作需求要讲汉字转换成拼音,自定义UDF函数 import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j ...
- 8.Hive基础—函数—系统内置函数、常用内置函数、自定义函数、自定义UDF函数、自定义UDTF函数
本文目录如下: 第8章 函数 8.1 系统内置函数 8.2 常用内置函数 8.2.1 空字段赋值 8.2.2 CASE WHEN THEN ELSE END 8.2.3 行转列 8.2.4 列转行 8 ...
- 自定义UDF函数和UDTF函数
文章目录 1.创建maven项目,引入依赖 2.自定义函数 自定义UDF函数 自定义UDTF函数 hive调用jar包创造函数 方法1:上传到linux下导入hive 方法2:上传到hdfs上再导入h ...
- 自定义UDF函数:将汉字转换成拼音
工作需求要讲汉字转换成拼音,自定义UDF函数 import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j ...
最新文章
- 《编译与反编译技术实战 》一2.3 编译器的设计与实现概述
- Android 核心分析之十二Android GEWS窗口管理之基本架构原理
- spark 写本地文件_(纯干货建议收藏)一次GC引发的Spark调优大全
- scikit-learn学习之神经网络算法
- 学fpga(流水灯)
- HDU 5908 Abelian Period 可以直接用multiset
- VC通过函数名调用DLL的标准范例
- HDU 1813 Escape from Tetris (IDA*)
- 教你如何认识各种光纤接口类型
- 腾讯云服务器linux系统有图形界面,腾讯云服务器如何搭建Ubuntu可视化界面?
- WinRAR4.11激活
- 2109-全国大学生电子设计竞赛-F-纸张数识别(内含arduino代码以及题解)
- neutron的dvr
- python debug配置launch.json例子
- Scratch制作飞翔的小喵小游戏
- 堡塔APP 免费使用教程【图文教程】
- Java 将表格数据导入word文档中
- orangepi——学习python02
- 汇智动力学院——Java 浅谈数据结构和算法
- 陈宝生:在升学压力下学校体育有“边缘化”的危险