hive自定义函数和永久函数

注册临时函数

    添加jar到classpath中(不论jar是否在hive的lib目录下,都需要执行此语句)
    add jar /opt/module/apache-hive-2.3.7-bin/my_udf-1.0-SNAPSHOT.jar;

    注册函数
    create temporary function get_type as 'com.wml.TypeUdf';

    查看函数
    show functions;

    使用函数
    select *,get_type(platform) from sockinfo;

    删除函数
    drop temporary function get_type;

注册永久函数

    如果是使用bin/hiveserver2方式,需配置conf/hive-site.xml配置文件,添加如下配置
    <property>
             <name>hive.aux.jars.path</name>
             <value>file:///home/test/hive-2.3.7/hive_demo-1.0-SNAPSHOT.jar</value>
    </property>

    如果使用bin/hive方式,需配置conf/hive-env.sh,添加
    export HIVE_AUX_JARS_PATH=/home/test/hive-2.3.7/lib/json-serde-1.3.8-jar-with-dependencies.jar,/home/test/hive-2.3.7/lib/app_logs_hive-1.0-SNAPSHOT.jar,/home/test/hive-2.3.7/hive_demo-1.0-SNAPSHOT.jar
    /opt/module/apache-hive-2.3.7-bin/lib/my_udf-1.0-SNAPSHOT.jar
    
    在bin/hive中,注册永久函数(函数在哪个database注册,就在哪个database中使用和删除)
    create function get_type as 'com.wml.TypeUdf';

    在mysql的hive数据库下FUNCS表中查看新注册的函数
    mysql -uroot -proot
    use hive
    select * from FUNCS;

    使用函数
    select *,get_type(platform) from sockinfo;

    删除函数
    drop function get_type;
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值