hive中每行的百分比计算

sun*_*tha 2 hive percentage

我在配置单元中有一个具有以下模式的表(difference int,count_value int)值是 5 2, 30 1, 90 1, 100 1

现在我想找到每个 count_value 与 count_value 总和的百分比。每行的值类似于 count_value/sum(count_value) 。任何人都可以帮忙吗?提前致谢

lib*_*ack 6

通过 Hive 0.11 中引入的新分析和窗口函数,您可以执行以下操作:

SELECT count_value / sum(count_value) over () as p from myTable
Run Code Online (Sandbox Code Playgroud)

这避免了联接,并且如果由另一个字段分区则更容易进行计算。例如,如果源表有一个key字段,并且您希望计算使用具有相同字段的行的总和key,则可以执行以下操作:

SELECT count_value / sum(count_value) over (partition by key) as p from myTable
Run Code Online (Sandbox Code Playgroud)