सैंपलिंग से डेटा छोटा करना
जब आप किसी बड़े डेटासेट पर काम करते हैं, तो आपको हर समय उसके पूरे हिस्से पर काम करने की ज़रूरत नहीं होती। खासकर प्रोजेक्ट की शुरुआत में, जब आप अलग-अलग तरीकों से प्रयोग कर रहे होते हैं, तो डेटा के एक छोटे सबसेट पर काम करके आप अक्सर तेज़ी से इटरेट कर सकते हैं। sdf_sample() यह काम सुविधाजनक तरीके से करता है। यह एक tibble लेता है और लौटाई जाने वाली पंक्तियों का fraction लेता है। इस केस में, आपको बिना replacement के सैंपल लेना है। अपने डेटासेट के दसवें हिस्से का रैंडम सैंपल लेने के लिए आप यह कोड लिखेंगे:
a_tibble %>%
sdf_sample(fraction = 0.1, replacement = FALSE)
क्योंकि सैंपलिंग के परिणाम रैंडम होते हैं, और आप छोटे किए गए डेटासेट को दोबारा इस्तेमाल करना चाहेंगे, इसलिए आम तौर पर compute() का उपयोग करके परिणामों को एक और Spark data frame के रूप में स्टोर किया जाता है।
a_tibble %>%
sdf_sample(<some args>) %>%
compute("sample_dataset")
परिणामों को पुनरुत्पादन योग्य बनाने के लिए, आप seed आर्ग्युमेंट के जरिए एक रैंडम नंबर seed भी सेट कर सकते हैं। ऐसा करने से आपका कोड हर बार चलाने पर वही रैंडम डेटासेट बनता है। seed के लिए कौन-सा नंबर चुनते हैं, यह मायने नहीं रखता; बस अपना पसंदीदा धनात्मक integer चुन लें।
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में sparklyr के साथ Spark परिचय
अभ्यास निर्देश
आपके लिए spark_conn नाम से एक Spark कनेक्शन बनाया गया है। Spark में स्टोर track metadata से जुड़ा एक tibble पहले से track_metadata_tbl के रूप में उपलब्ध है।
sdf_sample()का उपयोग करके track metadata का 1% सैंपल बिना replacement के लें।- रैंडम seed सेट करने के लिए
seedआर्ग्युमेंट में20000229पास करें।
- रैंडम seed सेट करने के लिए
- परिणाम compute करें और उसे
"sample_track_metadata"नाम की टेबल में स्टोर करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# track_metadata_tbl has been pre-defined
track_metadata_tbl
track_metadata_tbl %>%
# Sample the data without replacement
___ %>%
# Compute the result
___