Hive實現從表中隨機抽樣得到一個不重復的數據樣本


select a.* 
from (
select a.*,rand(12345) as random
from tripdata a
) a
where random between 0 and 0.2;

  

a.country a.city a.visitors a.random 阿聯酋 迪拜 268 0.3618031071604718 阿聯酋 迪拜 108 0.932993485288541 澳大利亞 墨爾本 230 0.8330913489710237 澳大利亞 墨爾本 188 0.32647575623792624 澳大利亞 堪培拉 378 0.2355237906476252






select distinct a.*
from tripdata a
order by rand(12345) 
limit 5;

 

country city visitors 阿聯酋 阿布扎比 157 阿聯酋 阿布扎比 137 阿聯酋 迪拜 144 阿聯酋 阿布扎比 227 澳大利亞 堪培拉 240



select
	user_log_acct,
	row_number() over(ORDER BY rand(1000)) as row_num
from
	dev.dev_XXX

  

這里,row_number() over(ORDER BY rand(1000)) 中,1000相當於一個隨機種子,跑多次,隨機的結果是一樣的;

 


https://www.jianshu.com/p/2b73e7c53355


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM