【问题标题】:Weighting Factor calculation with Hive UDF使用 Hive UDF 计算权重因子
【发布时间】:2014-02-12 10:13:39
【问题描述】:

我是 Hive 的新手,我会帮助编写一个用于加权因子计算的 UDF 函数。

计算看起来很简单。

我有一张表,其中包含一些值 KEY,VALUE 按 GROUP_ID 分组。对于一个组的每一行,我想计算权重因子,一个介于 0 和 1 之间的浮点数,即该组元素的权重。 该组的权重因子之和必须为 1。

在这个例子中,值是距离,那么权重与距离成反比。

GROUP_ID | KEY     | VALUE(DISTANCE)
====================================
1          10        4
1          11        3
1          12        2
2          13        1
2          14        5
3          ..        ..
...

数学函数:1/(Xi * sum(1/Xk)) 从 k=1 到 N)

GROUP_ID | KEY |   VALUE    | WEIGHTING_FACTOR
=======================================================
1          10      4        1/(4*(1/4+1/3+1/2)) = 0.23
1          11      3        1/(3*(1/4+1/3+1/2)) = 0.31
1          12      2        1/(2*(1/4+1/3+1/2)) = 0.46
2          13      1        1/(1*(1/1+1/5)) = 0.83
2          14      5        1/(5*(1/1+1+5)) = 0.17
3          ..      ..
...

您对使用 UDF、UDAF 或 UDTF 函数有什么建议吗?

也许我必须使用“转换”? https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Transform

【问题讨论】:

    标签: java hadoop hive


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 2013-03-05
    • 1970-01-01
    相关资源
    最近更新 更多