公司建设网站怎么做账,个人域名用来做淘宝客网站,旅行网站开发,图表 wordpressHive Sampling 抽样函数 文章目录Hive Sampling 抽样函数Random随机抽样Block 基于数据块抽样Bucket table 基于分桶表抽样语法在HQL中#xff0c;可以通过三种方式采样数据#xff1a;随机采样#xff0c;存储桶表采样和块采样。Random随机抽样
随机抽样使用rand()函数确保…Hive Sampling 抽样函数 文章目录Hive Sampling 抽样函数Random随机抽样Block 基于数据块抽样Bucket table 基于分桶表抽样语法在HQL中可以通过三种方式采样数据随机采样存储桶表采样和块采样。Random随机抽样
随机抽样使用rand()函数确保随机获取数据LIMIT来限制抽取的数据个数。表数据多时抽样速度不快但随机。有两种用法 方法一(效率较高)
SELECT * FROM student
DISTRIBUTE BY RAND() SORT BY RAND() LIMIT 2;方法二
SELECT * FROM student
ORDER BY RAND() LIMIT 2;Block 基于数据块抽样
允许随机获取n行数据、百分比数据、指定大小的数据采样粒度是HDFS块大小优点是速度快但不随机例
获取1行数据
SELECT * FROM student
TABLESAMPLE(1 ROWS);百分比数据
SELECT * FROM student
TABLESAMPLE(50 PERCENT);指定大小的数据
SELECT * FROM student
TABLESAMPLE(1k);Bucket table 基于分桶表抽样
一种特殊的采样方法针对分桶表进行了优化抽样既随机速度也很快。
语法
y必须是table总桶数的倍数或因子。hive根据y的大小决定抽样的比例。当y2有4个桶时抽取4/2个桶的数据x表示从哪个桶开始抽取。x的值必须小于y的值。ON colname表示基于什么抽 ON RAND()表示随机抽ON 分桶字段表示基于分桶字段抽样效率更高
TABLESAMPLE (BUCKET x OUT OF y [ON colname])例
SELECT * FROM t_usa_covid19_bucket TABLESAMPLE(BUCKET 1 OUT OF 5 ON RAND());