impala/hive自定义函数

本文介绍了如何在Impala和Hive中创建和加载自定义函数,如MD5函数和Java实现的AES加密函数,以及使用Invalidatemetadata进行元数据刷新的方法。
摘要由CSDN通过智能技术生成

impala创建md5函数(常用安装组件后没有自动显示的函数):

大数据机器执行:find / -name hive-exec.jar

大数据机器执行:hdfs dfs -put /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hive/lib/hive-exec.jar   /user/wj/jar/hive-exec.jar

impala执行:create function md5(string) returns string location '/user/wj/jar/hive-exec.jar' symbol='org.apache.hadoop.hive.ql.udf.UDFMd5';

impala重载函数:reload function;

impala核验:select md5('xxxxxx');

然后hive命令行执行:

add jar hdfs:///ip:port/user/wj/jar/AES_decrypt_ECB.jar;

create function aes_decrypt_myECB as 'java类名-AES_DecryptMobile_ECB' using jar 'hdfs:///ip:port/user/wj/jar/AES_decrypt_ECB.jar' ;

reload function;

删除自定义函数:drop function function_name;

drop function aes_decrypt_myECB;

发现:创建hive自定义函数后,在hue点击执行Invalidate all metadata and rebuild index.;impala也可以使用此自定义函数。

注意:java自定义函数类须继承UDF,

import org.apache.hadoop.hive.ql.exec.UDF;

public class AES_DecryptMobile_ECB extends UDF {
    public static void main(String[] args) {
        System.out.println("hello world");
    }

    public String evaluate(  String value,String key) throws Exception {
        return AesUtils.aesDecryptMobile( value,key);
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值