Iterate और filter
एक डेटा कंसल्टेंट के रूप में, आपको तरह-तरह के फ़ॉर्मैट में डेटा मिलता है. एक क्लाइंट ने अभी-अभी 40-गिगाबाइट का CSV फ़ाइल ट्रांसफ़र किया है, जिसमें दुनिया भर के उच्च शिक्षा संस्थानों का डेटा है.
जूनियर एनालिस्ट मेमोरी की कमी के कारण डेटा को सही से पार्स नहीं कर पा रहे हैं, और पूरे डेटासेट को हैंडल करने के लिए आवश्यक कंप्यूट रिसोर्सेज़ का बजट नहीं है. आपकी मौजूदा एनालिसिस को अभी सिर्फ़ ऑस्ट्रेलिया के इंस्टीट्यूट्स चाहिए. CSV का फ़ाइल पाथ पहले से वैरिएबल filepath में स्टोर है. आपसे कहा गया है कि इस डेटा के लिए एक कुशल रीडर इम्प्लीमेंट करें. parallel, doParallel, foreach, और iterators पैकेज आपके लिए लोड कर दिए गए हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में पैरेलल प्रोग्रामिंग
अभ्यास निर्देश
filepathसे लाइनों को पढ़ने के लिए एक iterator का उपयोग करें.- उपयुक्त फंक्शन से परिणामों को मिलाकर एक डेटा फ़्रेम बनाएँ.
- parallel ऑपरेटर निर्दिष्ट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
cl <- makeCluster(4)
registerDoParallel(cl)
# Use an iterator to read lines
foreach(l = ___,
# Combine the lines as rows
___ = ___
# Use the parallel operator
) ___ {
line <- strsplit(l, ",")[[1]]
if (line[4] == "Australia") {
return(line)
}
}
stopCluster(cl)