Skenario apa yang akan menjamin penggunaan algoritma " Peta dan Kurangi "?
Apakah ada implementasi .NET dari algoritma ini?
Skenario apa yang akan menjamin penggunaan algoritma " Peta dan Kurangi "?
Apakah ada implementasi .NET dari algoritma ini?
Jawaban:
Setara dengan Linq pada Map dan Reduce: Jika Anda cukup beruntung memiliki linq maka Anda tidak perlu menulis peta sendiri dan mengurangi fungsi. C # 3.5 dan Linq sudah memilikinya meskipun dengan nama yang berbeda.
Peta adalah
Select
:Mengurangi adalah
Aggregate
:Filter adalah
Where
:https://www.justinshield.com/2011/06/mapreduce-in-c/
sumber
Reduce
bukanAggregate
... MS hanya suka programmer pemilik dapat menggangguKelas-kelas masalah yang cocok untuk solusi gaya mapreduce adalah masalah agregasi. Mengekstrak data dari dataset. Di C #, orang bisa memanfaatkan LINQ untuk memprogram dalam gaya ini.
Dari artikel berikut: http://codecube.net/2009/02/mapreduce-in-c-using-linq/
Untuk bagian yang didistribusikan, Anda dapat memeriksa DryadLINQ: http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx
sumber
Karena saya tidak pernah dapat mengingat bahwa LINQ menyebutnya
Where
,Select
danAggregate
bukannyaFilter
,Map
danReduce
karenanya saya membuat beberapa metode ekstensi yang dapat Anda gunakan:Berikut adalah 3 metode (dari https://github.com/cs-util-com/cscore/blob/master/CsCore/PlainNetClassLib/src/Plugins/CsCore/com/csutil/collections/IEnumerableExtensions.cs ):
Beberapa detail lebih lanjut dari https://github.com/cs-util-com/cscore#ienumerable-extensions :
sumber