Hadoop 在配置单元中创建和使用UDF

Hadoop 在配置单元中创建和使用UDF,hadoop,hive,Hadoop,Hive,我创建了UDF,如中所述 执行语句后,创建临时函数rank作为'com.example.hive.udf.rank'; 我得到的日志如中所示 如何解释日志或如何知道函数是否成功创建 另外,当我使用函数rank执行配置单元查询时,我会得到异常,如中所述 这个问题已经解决了 文章本身有几个bug 将文章中的陈述替换为以下陈述 一, 二, 为了涵盖这些基础,您确实编译了jar并运行了'addjarpath/to/YourJar.jar;'路径相对于配置单元的工作目录的正确位置?您以前是否能够成功地从j

我创建了UDF,如中所述

执行语句后,创建临时函数rank作为'com.example.hive.udf.rank'; 我得到的日志如中所示

如何解释日志或如何知道函数是否成功创建

另外,当我使用函数rank执行配置单元查询时,我会得到异常,如中所述 这个问题已经解决了

文章本身有几个bug

将文章中的陈述替换为以下陈述

一,

二,


为了涵盖这些基础,您确实编译了jar并运行了'addjarpath/to/YourJar.jar;'路径相对于配置单元的工作目录的正确位置?您以前是否能够成功地从jar添加并运行临时函数?@DanielKoverman如果我从/user/hive/Rank.jar添加jar,它会抛出错误jar不存在,并且我从本地添加jar作为add jar/home/cloudera/Rank.jar工作正常。
Create Rank jar


jar -cf Rank.jar ./com/example/hive/udf/Rank.class
SELECT user, category, value
FROM (
    SELECT user, category, rank(user) as rank, value
    FROM $compTable
    WHERE user is NOT NULL AND AND ctr > 0
    DISTRIBUTE BY user
    SORT BY user, value desc
) a
WHERE rank(user) < 5
ORDER BY user, rank(user)