Mapa i redukcja in.NET
Jakie scenariusze uzasadniałyby użycie algorytmu" Map and Reduce"?
czy istnieje implementacja tego algorytmu. NET?
4 answers
Odpowiedniki Linq Map i Reduce: Jeśli masz szczęście, że masz linq, to nie musisz pisać własnej mapy i zmniejszać funkcji. C# 3.5 i Linq już go mają, choć pod różnymi nazwami.
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);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-06 18:09:50
Klasy problemu, które dobrze nadają się do rozwiązania w stylu mapreduce, to problemy agregacji. Wydobywania danych ze zbioru danych. W C# można wykorzystać LINQ do programowania w tym stylu.
Z następującego artykułu: http://codecube.net/2009/02/mapreduce-in-c-using-linq/
Metoda GroupBy działa jak mapa, podczas gdy metoda Select redukuje wyniki pośrednie do ostatecznej listy wyniki.
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);
Dla części dystrybuowanej, możesz sprawdzić DryadLINQ: http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-02 20:58:29
Zobacz inne pytanie dotyczące map/reduce:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:27
Jeśli próbowałeś napisać własną wersję Google to może to uzasadnić..!!!
Poważnie, jeśli masz problem, który możesz rozłożyć na kilka mniejszych problemów, wtedy rozwiązanie Map-Reduce będzie działać. Dokument Google na MapReduce ma wiele dobrych przykładów, w tym jak przetwarzać tysiące stron internetowych, liczyć słowa w dokumencie itp.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-10 22:01:46