.NET

2009-01-09 13 views
84

में मानचित्र और घटाएं क्या परिदृश्य "Map and Reduce" एल्गोरिदम के उपयोग की गारंटी देंगे?.NET


क्या इस एल्गोरिदम का .NET कार्यान्वयन है?

+3

संभव डुप्लिकेट (http://stackoverflow.com/questions/40075/generic-list-extensions-in-c-sharp) – Satpal

उत्तर

160

Linq मानचित्र के समकक्ष और कम करें: आप भाग्यशाली LINQ के लिए तो आप लिखने की ज़रूरत नहीं है, तो अपना खुद का नक्शा और कार्यों को कम करें। सी # 3.5 और लिंक पहले से ही अलग-अलग नामों के तहत है।

Map = Select | Enumerable.Range(1, 10).Select(x => x + 2); 
Reduce = Aggregate | Enumerable.Range(1, 10).Aggregate(0, (acc, x) => acc + x); 
Filter = Where | Enumerable.Range(1, 10).Where(x => x % 2 == 0); 

https://www.justinshield.com/2011/06/mapreduce-in-c/

[सी # में जेनेरिक सूची एक्सटेंशन] का
+1

अनुवाद सही है लेकिन यह एक महत्वपूर्ण बिंदु को याद करता है। नक्शा कम करने में नक्शा कम करने में शफल कदम महत्वपूर्ण है लेकिन नाम में दिखाई नहीं देता है, जिसके लिए किसी को भी इसके लिए कोई कोड लिखना नहीं पड़ता है। यह पूरी तरह से उस कुंजी द्वारा संचालित होता है जो मानचित्र चरण में निकाला जाता है। जोएल मार्टिनेज का जवाब इस बात पर प्रकाश डाला गया है कि मेरी राय में बेहतर है। – user1583558

+2

लिंक काम नहीं कर रहा है, सही लिंक है: https://www.justinshield.com/2011/06/mapreduce-in-c/ –

1

यदि आप Google का अपना संस्करण लिखने की कोशिश कर रहे थे तो वह इसे वारंट कर सकता है .. !!!

गंभीरता से हालांकि, अगर आपको कोई समस्या है कि आप कई छोटी समस्याओं में विघटन कर सकते हैं तो मानचित्र-न्यूनीकरण समाधान काम करेगा। MapReduce पर Google दस्तावेज़, कैसे वेब पृष्ठों के हजारों कार्रवाई करने के लिए सहित अच्छे उदाहरण, की एक संख्या है दस्तावेज़ में शब्द आदि आदि

+2

MapReduce लिंक है टूटा @ सेन यहां नया लिंक http://research.google.com/archive/mapreduce.html – Vbp

+0

@vbp है - धन्यवाद, मैंने जवाब – Sean

+0

अपडेट किया है, जबकि यह लिंक प्रश्न का उत्तर दे सकता है, यह आवश्यक है कि आवश्यक भागों को शामिल करना बेहतर है यहां जवाब दें और संदर्भ के लिए लिंक प्रदान करें। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/18027646) – Gerard

10

मानचित्र के बारे में यह अन्य प्रश्न देखें/को कम गिनती:

Generic List Extensions in C#

+0

धन्यवाद रे, आपके लिंक ने बहुत उपयोगी जानकारी – Developer

+0

का नेतृत्व किया, जबकि यह लिंक प्रश्न का उत्तर दे सकता है, यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/18026777) – nvoigt

12

मैप्रिडस शैली समाधान के लिए उपयुक्त समस्या की कक्षाएं एकत्रीकरण की समस्याएं हैं। डेटासेट से डेटा निकालने का। सी # में, कोई इस शैली में LINQ का कार्यक्रम ले सकता है।

निम्न आलेख से: http://codecube.net/2009/02/mapreduce-in-c-using-linq/

GroupBy विधि, नक्शे के रूप में काम कर रहा है, जबकि पद्धति का चयन करें परिणामों की अंतिम सूची में मध्यवर्ती परिणाम को कम करने का काम करता है।

var wordOccurrences = words 
       .GroupBy(w => w) 
       .Select(intermediate => new 
       { 
        Word = intermediate.Key, 
        Frequency = intermediate.Sum(w => 1) 
       }) 
       .Where(w => w.Frequency > 10) 
       .OrderBy(w => w.Frequency); 

वितरित भाग के लिए, आप की जाँच कर सकता है DryadLINQ: http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx

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