【问题标题】:Split a range of numbers in equal parts in hive在蜂巢中将一系列数字分成相等的部分
【发布时间】: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 中是否有类似的可能。

谢谢

【问题讨论】:

    标签: hadoop hive


    【解决方案1】:

    我能想到的一种可能是playcount%15 as mygroup

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      • 2015-06-17
      • 2019-12-22
      • 2015-05-20
      • 2011-07-19
      • 1970-01-01
      相关资源
      最近更新 更多