hive分组取随机数

hive取随机的数据,可以使用rand()函数,用rand()对数据排序,取topN
如果要用到分组取随机数,比如每个班级随机取10人,针对这种每个分组取topN的情况,可以使用
row_number() over(partition by fieldx order by rand()) as rn

示例:

select date,imei
from(
select date,imei,row_number() over(partition by sp_modify order by rand()) as rn 
from tmp_mod ) mod
where mod.rn <= 1000

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,162评论 0 13
  • 这一周主要学习了 Hive 的一些基础知识,学习了多个 Hive 窗口函数,虽然感觉这些窗口函数没有实际的应用...
    大石兄阅读 7,808评论 2 8
  • 1.INSERT 官网说明:INSERT OVERWRITE TABLE tablename1 [PARTITIO...
    白面葫芦娃92阅读 3,851评论 0 0
  • Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。本...
    felix521阅读 5,111评论 0 0
  • hive.ddl.output.format:hive的ddl语句的输出格式,默认是text,纯文本,还有json...
    博弈史密斯阅读 6,012评论 0 6