2012-10-07 11 views
36

मैं आर में कुछ लॉगफाइल विश्लेषण करने जा रहा हूं (जब तक कि मैं इसे आर में नहीं कर सकता), और मैं समझता हूं कि मेरे डेटा को रैम में फिट करने की आवश्यकता है (जब तक कि मैं किसी प्रकार के फ़िक्स का उपयोग किसी कुंजीपटल के लिए नहीं करता स्टोर, शायद?)। इसलिए मैं सोच रहा हूं कि समय से पहले कैसे बताना है कि रैम में मेरा डेटा कितना बड़ा होगा, और क्या मेरे पास पर्याप्त होगा। मुझे पता है कि मेरे पास कितनी रैम है (बड़ी मात्रा में नहीं - एक्सपी के तहत 3 जीबी), और मुझे पता है कि मेरी लॉगफाइल कितनी पंक्तियों और कोल्स के रूप में खत्म हो जाएगी और कॉल प्रविष्टियों के किस प्रकार के डेटा होना चाहिए (जो संभवतः मुझे जांचना होगा यह पढ़ता है)।मैं कैसे बता सकता हूं कि आर में मेरा डेटासेट बहुत बड़ा होने वाला है?

आर में विश्लेषण करने के लिए मैं इसे एक साथ/नोगो निर्णय में कैसे रखूं? (संभवतः आर को कुछ रैम करने के लिए ऑपरेशन करने के साथ-साथ डेटा धारण करने में सक्षम होना चाहिए!) मेरा तत्काल आवश्यक आउटपुट सरल सारांश आंकड़े, आवृत्तियों, आकस्मिकताओं आदि का एक गुच्छा है, और इसलिए मैं शायद कुछ प्रकार लिख सकता हूं पार्सर/टैबलेटर जो मुझे आउटपुट देगा, मुझे अल्पावधि की आवश्यकता है, लेकिन मैं अगले डेटा के रूप में इस डेटा के कई अलग-अलग दृष्टिकोणों के साथ खेलना चाहता हूं, इसलिए आर

का उपयोग करने की व्यवहार्यता को देख रहा हूं यहां आर में बड़े डेटासेट के बारे में बहुत उपयोगी सलाह है, जिसे मैंने पढ़ा है और फिर से पढ़ा होगा, लेकिन अब मैं यह समझना चाहता हूं कि मुझे यह पता लगाना चाहिए कि मुझे (ए) वहां जाना चाहिए, (बी) वहां जाएं लेकिन उम्मीद करें इसे प्रबंधित करने के लिए कुछ अतिरिक्त सामान करना है, या (सी) बहुत देर हो चुकी है इससे पहले भाग जाओ और कुछ अन्य भाषा/पर्यावरण में कुछ करें (सुझाव स्वागत है ...!)। धन्यवाद!

उत्तर

41

आर अच्छी तरह से बड़ा डेटासेट के लिए अनुकूल है, या तो अपने स्वयं स्क्रिप्ट का उपयोग मात्रा में bigmemory या ff package (विशेष रूप से read.csv.ffdf) की तरह बाहर के बॉक्स समाधान का उपयोग कर या प्रसंस्करण अपना सामान। लगभग सभी मामलों में एक छोटा प्रोग्रामिंग बड़े डेटासेट (>> मेमोरी, 100 जीबी कहें) को बहुत संभव बनाता है। इस तरह के प्रोग्रामिंग करने से सीखने में कुछ समय लगता है (मुझे आपका स्तर नहीं पता), लेकिन आपको वाकई लचीला बनाता है। यदि यह आपका चाय का प्याला है, या यदि आपको दौड़ने की आवश्यकता है तो उस समय पर निर्भर करता है जब आप इन कौशल को सीखने में निवेश करना चाहते हैं। लेकिन एक बार जब आप उन्हें प्राप्त कर लेंगे, तो वे आपके जीवन को डेटा विश्लेषक के रूप में बहुत आसान बना देंगे।

लॉगफाइल का विश्लेषण करने के संबंध में, मुझे पता है कि कॉल ऑफ ड्यूटी 4 (कंप्यूटर मल्टीप्लेयर गेम) से उत्पन्न आंकड़े पृष्ठ लॉग फ़ाइल को डेटा डेटाबेस में क्रमशः पार्स करके और डेटाबेस से प्रति उपयोगकर्ता आंकड़े पुनर्प्राप्त करके काम करते हैं। इंटरफ़ेस के उदाहरण के लिए here देखें। पुनरावृत्त (भाग में) दृष्टिकोण का अर्थ है कि लॉगफाइल आकार (लगभग) असीमित है। हालांकि, अच्छा प्रदर्शन प्राप्त करना तुच्छ नहीं है।

आर में आप जो कुछ भी कर सकते हैं, आप पाइथन या मैटलैब, यहां तक ​​कि सी ++ या फोरट्रान में भी कर सकते हैं। लेकिन केवल तभी जब उस उपकरण के लिए आप जो चाहते हैं उसके लिए आउट ऑफ़ द बॉक्स समर्थन है, तो मैं आर पर उस उपकरण का एक अलग लाभ देख सकता हूं। बड़े डेटा को प्रोसेस करने के लिए the HPC Task view देखें। reading a very large text file in chunks के लिए मिनट का पहले का जवाब भी देखें। अन्य संबंधित लिंक है कि आप के लिए दिलचस्प हो सकता है:

आर या किसी अन्य उपकरण के चयन के संबंध में, मैं अगर यह काफी अच्छा गूगल के लिए यह मेरे लिए काफी अच्छा है कहेंगे;)।

+1

शामिल मुद्दों के आसपास बहुत उपयोगी सलाह, धन्यवाद पॉल। नौकरी का आकार बदलना क्यू मुझे क्वारा पर एक बहुत ही विशिष्ट उत्तर मिला, जो अंगूठे का नियम है कि mem की आवश्यकता = डेटासेट * 4 या 5: [लिंक] (http://www.quora.com/R-software/How -कैन-आई-टेल-कब-मेरा-डेटासेट-इन-आर-जा रहा है-बहुत-बड़ा) –

+5

आपकी समस्या को क्रॉस-पोस्टिंग को प्रोत्साहित नहीं किया जाता है ... –

+0

इसके अतिरिक्त, यदि यह आपके प्रश्न का उत्तर देता है हरे रंग के चेकमार्क को एक संकेत के रूप में चिह्नित करना प्रथागत है कि इस प्रश्न का उत्तर दिया गया है। –

संबंधित मुद्दे

 संबंधित मुद्दे