Tak więc patrzyłem na Hadoopa z żywym zainteresowaniem i szczerze mówiąc jestem zafascynowany, nie robi się dużo fajniej.
Moim jedynym drobnym problemem jest to, że jestem programistą C # i jest w Javie.
Nie chodzi o to, że nie rozumiem języka Java tak bardzo, jak szukam projektu Hadoop.net, NHadoop lub .NET, który obejmuje podejście Google MapReduce . Czy ktoś o jednym wie?
Zobacz http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx lub http://msdn.microsoft.com/en-us/library/dd179423.aspx
źródło
Niedawno MySpace wydało swój framework .NET MapReduce, Qizmt , jako Open Source, więc jest to również potencjalny rywal w tej przestrzeni.
źródło
Odpowiedziałem na twoje pytanie w moim pytaniu tutaj
Aby powiedzieć to tutaj w źródle:
Microsoft zrezygnował ze swojej alternatywy ( Driada ) na rzecz Hadoopa. W przyszłym roku wypuszczą MS SQL Server 2012 z integracją z Hadoop. Wsparcie dla Azure i Windows Server jest rozwijane już teraz.
Będzie dostępny w pierwszej połowie 2012 roku.
Hadoop jest platformą BigData nr 1 i będzie obsługiwany przez otwarte i zastrzeżone źródła (Java, .Net, Python, ...), nawet Oracle wdraża je.
Jeśli coś tworzyłeś, powinieneś poczekać, jeśli jesteś na platformie .Net.
Więcej informacji o tym, co jest możliwe, będzie dostępnych tutaj
źródło
Powiedziałbym, że DryadLinq jest najbliższą Hadoopowi rzeczą, jaką my, ludzie .NET, mamy. Ale to zależy do czego chcesz używać hadoopa. Jeśli szukasz zoptymalizowanego samoobsługowego systemu plików rozproszonych (DFS), to DryadLINQ nie jest tym, czego szukasz. Ma odpowiednik DFS, ale musisz ręcznie zbudować partycje i rozprowadzić każdą partycję.
Biorąc to pod uwagę, jeśli jego aspekt wykonania rozproszonego Hadoop, którego szukasz, niż DryadLINQ jest naprawdę wspaniały (i nie, nie jestem powiązany z MS). Tak długo, jak masz konfigurację klastra Microsoft HPC, rozpoczęcie pracy z DryadLINQ jest naprawdę łatwe.
Kod, który piszesz, jest w rzeczywistości po prostu prostym kodem LINQ, z wyjątkiem tego, że zamiast wykonywania LINQ
IEnumerable<T>
musisz go wykonaćPartitionedTable<T>
(własna kompilacja rozproszonej struktury danych).To, co naprawdę było fajne w DryadLINQ, to szybki czas zmiany (spróbuj, przetestuj, dostosuj, powtórz) podczas opracowywania algorytmów. Po prostu piszesz kod LINQ, aby wykonać obliczenia, a DryadLINQ zajmie się całą częścią rozproszonego wykonania. Jest to najbardziej naturalny analog, z jakim się spotkałem, który sprawia, że pisanie kodu do przetwarzania rozproszonego jest takie samo, jak pisanie kodu do przetwarzania pojedynczego procesu.
źródło
Możesz zajrzeć do czegoś takiego jak RavenDb, które zapewnia bardzo przyzwoitą obsługę MapReduce dla dość dużego rozmiaru danych. ponieważ jest wbudowany w .Net, więc dostępny jest odpowiedni interfejs API klienta LINQ.
http://ravendb.net/
Na dobry początek możesz przeczytać wpis na moim blogu .
źródło
Być może lepiej będzie korzystać z Apache Hadoop i przesyłania strumieniowego, ponieważ Apache Hadoop jest aktywnie rozwijany i utrzymywany przez wielkich gigantów w branży, takich jak Yahoo i Facebook. Więc może zrobić to, czego od niego oczekujesz.
Jeśli potrzebujesz rozwiązania w .NET, sprawdź implementację Myspace @ MySpace Qizmt - Open Source Mapreduce Framework MySpace
źródło
Firma Microsoft jest w trakcie wdrażania usługi HDInsight , która jest rozliczana jako „dystrybucja Hadoop w 100% zgodna z Apache”.
Jest dostępny zarówno w systemie Windows Server, jak i jako usługa Windows Azure.
źródło
Microsoft Research ma projekt Daytona http://research.microsoft.com/en-us/projects/daytona/
Możesz to pobrać. W C # jest przykład WordCount.
źródło
Możesz teraz używać Hadoop bezpośrednio z .NET Microsoft wydał do tego zestaw SDK.
https://hadoopsdk.codeplex.com/
Oczywiście oznacza to korzystanie z sieci Hadoop opartej na Javie. Ale czy ma znaczenie, czy serwer działa w Javie? Jestem pewien, że ktoś może próbować go przenieść, ale nie sądzę, że byłby to dobry pomysł, ponieważ korporacje już wspierają wersję java i nie sądzę, aby port .NET przyciągnął taką samą uwagę.
źródło
Spójrz na:
http://www.windowsazure.com/en-us/services/hdinsight/
Jest to implementacja Hadoop na platformę Azure i można uzyskać do niej dostęp za pomocą platformy .NET.
źródło
Firma Microsoft korzysta wewnętrznie z rozwiązania Cosmos. Zostało to udostępnione poza Microsoft za pośrednictwem platformy Azure. Nazywa się Azure Data Lake Analytics i Azure Data Lake Store . Usługa Azure Data Lake Analytics to rodzaj przędzy jako usługi, a usługa Azure Data Lake Store WebHDFS jako usługa. Pierwsza wersja Azure Data Lake Analytics obsługuje tylko język U-SQL oparty na języku Transact-SQL + C #.
źródło
Jest całkiem ładna implementacja MapReduce dla .NET pod adresem : http://mapsharp.codeplex.com/
źródło
Driada / linq jest produkowana i zostanie wkrótce wydana: http://blogs.technet.com/b/windowshpc/archive/2011/07/07/announcing-linq-to-hpc-beta-2.aspx używać w połączeniu z Microsoft HPC dla wydajnego, opartego na klastrach rozwiązania do przeszukiwania nieustrukturyzowanych danych
źródło
Jak wspominali inni, DryadLINQ to platforma programistyczna, która umożliwia programistom pisanie zapytań LINQ i wykonywanie ich w klastrze, w podobny sposób jak MapReduce. Projekt DryadLINQ został niedawno wydany na licencji Apache na GitHub , a wydanie obejmuje obsługę działania w klastrach YARN (w tym klastrach Azure HDInsight).
źródło