【发布时间】:2016-09-29 20:31:43
【问题描述】:
我有一个包含 40 lac 行的表,其中有一列“playcount”,最小值为 1,最大值约为 17,000。
我想通过添加一个基于“playcount”列的值从 1 到 15 的列来将此表分成 15 个组。
Hive 有一个函数 NTILE 允许做类似的事情。在这里,如果我做了NTILE(15) OVER (ORDER BY playcount) AS mygroup,它确实会分解它,但基于 playcount 值的计数,并且由于较低的值要多得多(超过 50% 的值小于 5),所以分组使得超过 35 的值具有组值为 15(最大值)。
我想根据播放次数而不是播放次数值进行分组。
在 hive 中是否有类似的可能。
谢谢
【问题讨论】: