美文网首页
添加 Hive 自定义函数

添加 Hive 自定义函数

作者: 吴雨康 | 来源:发表于2019-11-04 09:21 被阅读0次

    使用 Java 编写好 UDF 或 UDAF 函数后,Hive 要如何使用这些自定义函数呢?

    1 在 HDFS 上创建存放 jar 包的目录

    hadoop fs -mkdir -p /hive/private/lib
    

    2 将打包好的 jar 包上传到创建好的目录下

    hadoop fs -put gps_to_bd.jar /hive/private/lib
    hadoop fs -ls /hive/private/lib # 查看是否上传成功
    

    3 创建函数

    Hive 函数分为两种:永久函数与临时函数

    临时函数仅在当前会话有效。而永久函数添加一次之后即可永久使用。

    创建函数时需要注意:

    1. 函数名需要是数据库名.函数名的形式
    2. 类名需要完整,即包名.类名
    3. HDFS 上 jar 包的路径需要是全路径,即hdfs://...,并且数据库有权限访问该路径

    3.1 永久函数

    格式:CREATE FUNCTION '数据库名.函数名' AS '包名.类名' USING JAR 'HDFS全路径'

    hive (hadoop)> CREATE FUNCTION hadoop.gps_to_bd AS 'cn.hive.Gps_to_Bd' USING JAR 'hdfs://ns1//hive/private/lib/gps_to_bd.jar';
    

    3.2 临时函数

    hive (hadoop)> add jar 'hdfs://ns1//hive/private/lib/gps_to_bd.jar';
    hive (hadoop)> CREATE TEMPORARY FUNCTION hadoop.gps_to_bd AS 'cn.hive.Gps_to_Bd';
    

    PS:如果函数名已经存在了,可以使用drop function db_name.fun_name删除创建好的函数。

    4 验证函数

    最后,别忘了根据函数的功能验证创建好的函数。

    个人博客 http://wuyukangkang.coding.me/

    相关文章

      网友评论

          本文标题:添加 Hive 自定义函数

          本文链接:https://www.haomeiwen.com/subject/vmerbctx.html