Sadece RAND() işlevinin belgesiz halde BigQuery'de çalıştığını keşfettim. "Orada herhangi dezavantajları tanımlanan HASH() yönteminin yerine bu yaklaşımı kullanarak:Google BigQuery'deki Rastgele Örnekleme
SELECT word FROM
(SELECT rand() as random,word FROM [publicdata:samples.shakespeare] ORDER BY random)
LIMIT 10
Sorum edilir: Kullandığım Shakespeare veri kümesi 10 kelime (görünüşte) tesadüfi örnek oluşturmak başardı Gelişmiş örnekler "referans kılavuzunun bölümü"? https://developers.google.com/bigquery/query-reference
Merhaba Felipe! WHERE RAND() <10/164656' ile ne yaptığınızı açıklayabilir misiniz? Teşekkürler! – Rohit
RAND() bana 0 ile 1 arasında rastgele bir sayı verir. Böylece bir rastgele sayı kümesi istesem, yalnızca onda birinin yaklaşık 0,1'inden daha az olur, yalnızca yüzlerce kişiden biri 0.01'den küçük olur ve yakında. Shakespeare tablosunda 164656 satır vardır. Eğer sadece 1 civarında rasgele satır istiyorum, her sıraya rastgele bir sayı vereceğim ve onlarla birlikte olanları seçeceğim <1/164656. Bir tane olacağı garanti edilmez - ama yine de. 10? 10 * 1/164656 = 10/164656. Denemek :). –
@FelipeHoffa Sizin yönteminizi uygulamaya çalışıyorum ama çılgınca farklı sonuçlar elde ediyorum. Yaklaşık 6 milyar satırlık bir tabloya sahibim ve örnekleme kullanarak ör. rand() <0,004 ', örneklem hacminin toplam satır sayısı üzerindeki oranı' 0.0002 'olarak çıkar. Başka bir deyişle, benim örneğim beklenenden 20 kat daha küçük. Bu davranış için bir açıklamanız var mı? – Kris