需求
用Hive处理数据的时候,如何做到均匀抽样?
思路
用这个函数 ntile(n) 分成N份 ,切分的方法,按照时间排序
ntile(24) OVER (PARTITION BY user_id ORDER BY create_time) order_id
现在已经均匀分成了N份,然后可以在N分中再用row_number()函数 ,再进行排序,取值
ROW_NUMBER() OVER(PARTITION BY user_id,order_id ORDER BY create_time) AS order_id1
然后根据 order_id1取值即可