UDF函数

UDF函数

一、背景

学习自定义udf函数、以解码url为例。
URL 的编码 是ASCII十六进制格式。数仓接受到前端上报的URL,要对URL字段解码

如要将 %E6%88%98%E7%8E%8B%E5%9B%9E%E5%BD%92%E7%9C%8B%E5%88%B0%E8%80%81%E5%A9%86%E5%8F%97%E6%AC%BA
解码为

战王回归看到老婆受欺

hivesql、sparksql中,通过反射调用java.net.URLDecoder方法

select reflect('java.net.URLDecoder', 'decode',url, 'UTF-8') from table_name;

因为传参有一些特殊字符,比如%号或者说+号,导致不能解析会报错 所以对URLDecoder方法进行封装

二、解决方案

UDF函数开发使用Intellij工具通过Maven开发Hive的UDF函数,进行编译

  1. pom.xml文件中增加Hive包的依赖

    <properties>
        <hadoop.version>2.6.5</hadoop.version>
        <hive.version>2.0.0</hive.version>
    </properties>
    
    <dependencies>
    <!--HDFS 相关-->
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>ha
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值