Welche Szenarien würden die Verwendung des Algorithmus " Map and Reduce " rechtfertigen ?
Gibt es eine .NET-Implementierung dieses Algorithmus?
Welche Szenarien würden die Verwendung des Algorithmus " Map and Reduce " rechtfertigen ?
Gibt es eine .NET-Implementierung dieses Algorithmus?
Antworten:
Linq-Äquivalente von Map und Reduce: Wenn Sie das Glück haben, Linq zu haben, müssen Sie keine eigene Map schreiben und Funktionen reduzieren. C # 3.5 und Linq haben es bereits, wenn auch unter verschiedenen Namen.
Karte ist
Select
:Reduzieren ist
Aggregate
:Filter ist
Where
:https://www.justinshield.com/2011/06/mapreduce-in-c/
quelle
Reduce
stattAggregate
... MS nervt nur gerne ProgrammiererDie Problemklassen, die für eine Mapreduce-Lösung gut geeignet sind, sind Aggregationsprobleme. Daten aus einem Datensatz extrahieren. In C # könnte man LINQ nutzen, um in diesem Stil zu programmieren.
Aus dem folgenden Artikel: http://codecube.net/2009/02/mapreduce-in-c-using-linq/
Den verteilten Teil finden Sie unter DryadLINQ: http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx
quelle
Da kann ich nie , dass LINQ nennt sie erinnern
Where
,Select
undAggregate
stattFilter
,Map
undReduce
so habe ich ein paar Erweiterungsmethoden erstellt wurden, können Sie verwenden:Hier sind die 3 Methoden (von https://github.com/cs-util-com/cscore/blob/master/CsCore/PlainNetClassLib/src/Plugins/CsCore/com/csutil/collections/IEnumerableExtensions.cs ):
Weitere Informationen finden Sie unter https://github.com/cs-util-com/cscore#ienumerable-extensions :
quelle