में यादृच्छिक नमूनाकरण मैंने अभी पाया है कि रैंड() फ़ंक्शन, जबकि अनियंत्रित, BigQuery में काम करता है।Google BigQuery
SELECT word FROM
(SELECT rand() as random,word FROM [publicdata:samples.shakespeare] ORDER BY random)
LIMIT 10
मेरा प्रश्न है: क्या कोई विधि हैश() में परिभाषित के बजाय इस दृष्टिकोण का उपयोग करने के लिए किसी भी नुकसान "मैं का उपयोग कर एक (प्रतीत होता है) शेक्सपियर डाटासेट से 10 शब्दों के नमूने के तौर पर उत्पन्न करने में सक्षम था संदर्भ मैनुअल के उन्नत उदाहरण "खंड? https://developers.google.com/bigquery/query-reference
हाय फ़ेलिप! क्या आप समझा सकते हैं कि आप 'कहां रैंड() <10/164656' के साथ क्या कर रहे हैं? धन्यवाद! – Rohit
रैंड() मुझे 0 और 1 के बीच एक यादृच्छिक संख्या देता है। इसलिए यदि मैं यादृच्छिक संख्याओं के सेट के लिए पूछता हूं, तो उनमें से केवल दसवें स्थान 0.1 से कम होंगे, उनमें से केवल सौवें 0.01 से कम होंगे, और शीघ्र। शेक्सपियर टेबल में 164656 पंक्तियां हैं। अगर मुझे केवल 1 यादृच्छिक पंक्ति चाहिए, तो मैं प्रत्येक पंक्ति को एक यादृच्छिक संख्या दूंगा, और इसके साथ वाले लोगों को <1/164656 चुनें। यह गारंटी नहीं है कि एक होगा - लेकिन फिर भी। 10? 10 * 1/164656 = 10/164656। कोशिश करके देखो :)। –
@FelipeHoffa मैं आपकी विधि को लागू करने की कोशिश कर रहा हूं, लेकिन मुझे जंगली रूप से अलग-अलग परिणाम मिल रहे हैं। मेरे पास लगभग 6 अरब पंक्तियों की एक तालिका है और उदाहरण के बाद नमूनाकरण करने के बाद 'रैंड() <0.004', पंक्तियों की कुल संख्या पर नमूना आकार का अनुपात' 0.0002' के रूप में आता है। दूसरे शब्दों में, मेरा नमूना अपेक्षा से लगभग 20 गुना छोटा है। क्या आपके पास इस व्यवहार के लिए स्पष्टीकरण है? – Kris