Hive实现从表中随机抽样得到一个不重复的数据样本
2015-05-29 14:47
363 查看
方法一:
select * from table_a order by rand() limit 100;
方法二:
select * from (
select e.*, cast(rand() * 100000 as int) as vidx from e
) vt order by vt.vidx limit 1000
说明:
1,表e为一个普通的表,里面存有数据,我们要从表e中随机抽出1000条数据作为数据样本。
2,rand() 函数产生一个0到1的随机数字,cast(rand() * 100000 as int) as vidx 表示: vidx为一个0到100000之间的一个随机整数。
3,e表中的字段和vidx组成了一个新的表格vt 。
select * from table_a order by rand() limit 100;
方法二:
select * from (
select e.*, cast(rand() * 100000 as int) as vidx from e
) vt order by vt.vidx limit 1000
说明:
1,表e为一个普通的表,里面存有数据,我们要从表e中随机抽出1000条数据作为数据样本。
2,rand() 函数产生一个0到1的随机数字,cast(rand() * 100000 as int) as vidx 表示: vidx为一个0到100000之间的一个随机整数。
3,e表中的字段和vidx组成了一个新的表格vt 。
相关文章推荐
- Json字符串转JsonNode
- 第12周项目-OJ(矩形类定义)
- JAVA Calendar详解
- Maven实战——Maven入门
- SpringMVC REST ful API
- this 的使用方法 —— javascript中的this讲解!
- ViewDragHelper详解
- List::去重,倒置
- Ubuntu+openni+nite+sensor+配置
- 十、队列的实现方法一(顺序表的复用)
- git命令
- 【深入分析】原来携程是因为这些原因?
- Android读取Manifest文件下Application等节点下的metadata自定义数据
- 学习Golang的步骤建议
- AndroidStudio快捷键
- jackson序列化和反序列化(单个对象、列表)
- C编写Windows服务程序学习
- struts2中的constant配置详解
- 矩阵中求子矩形
- if { ...... } else { ...... }