最小値が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
.