在Hive中创建和使用UDF

时间:2013-09-13 05:05:34

标签: hadoop hive

我在http://www.findnwrite.com/musings/extract-top-n-records-in-each-group-in-hadoophive/

中提到了我创建的UDF

执行语句后“创建临时函数等级为'com.example.hive.udf.Rank';” 我得到了http://pastebin.com/hHFa9G9A

中显示的日志

如何解释日志或如何知道功能是否成功创建?

当我使用函数rank执行hive查询时,我得到了异常,如中所述 http://pastebin.com/fP5LnyGG

1 个答案:

答案 0 :(得分:1)

此问题已解决

文章中的一些错误http://www.findnwrite.com/musings/extract-top-n-records-in-each-group-in-hadoophive/

用以下陈述替换了本文中的陈述

1)

Create Rank jar


jar -cf Rank.jar ./com/example/hive/udf/Rank.class

2)

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)