/ /数値の範囲をハイブで等しい部分に分割します-hadoop、hive

hive - hadoop、hiveで同じ範囲の数字の範囲を分割する

最小値が1、最大値が約17,000の列「playcount」を持つ40lac行のテーブルがあります。

「playcount」列に基づいて1から15の値を持つ列を追加して、このテーブルを15のグループに分割したいと思います。

Hiveには、同様のことを実行できるNTILE関数があります。ここで私がやったら NTILE(15) OVER (ORDER BY playcount) AS mygroup、それはそれを分割しますが、プレイカウント値と、低い値の方がはるかに多いため(50%を超える値は5未満の値)、35を超える値のグループ値は15(最大)になります。

プレイカウント値のカウントではなく、プレイカウントに基づいてグループ化を行いたいと思います。

ハイブでも同様の可能性があります。

ありがとう

回答:

回答№1は0

私が考えることができる1つの可能性は playcount%15 as mygroup.