Подтвердить что ты не робот

Есть ли эквивалент .NET для Apache Hadoop?

Итак, я смотрел на Hadoop с большим интересом, и, честно говоря, я очарован, вещи не намного круче.

Моя единственная незначительная проблема: я разработчик С# и это в Java.

Это не то, что я не понимаю Java столько, сколько я ищу Hadoop.net или NHadoop или .NET проект, который охватывает Google MapReduce. Кто-нибудь знает об этом?

4b9b3361

Ответ 1

Вы посмотрели на использование Hadoop streaming?

Я использую его в python все время: -).

Я начинаю понимать, что гетерогенный подход часто является лучшим, и похоже, что другие люди делают то же самое.

Если вы посмотрите на такие проекты, как протоколы-буферы или facebook бережливость, вы видите, что иногда просто лучше использовать приложение, написанное на другом языке, и создавать клей на языке ваших предпочтений.

Ответ 3

В последнее время MySpace выпустила свою платформу .NET MapReduce, Qizmt, как Open Source, так что это также потенциальный претендент в этом пространстве.

Ответ 4

Я ответил на ваш вопрос в своем вопросе здесь

Чтобы сказать это здесь в источнике:

Microsoft отказался от своей альтернативы (Dryad) в пользу Hadoop. В следующем году они выпустят MS SQL Server 2012 с интеграцией Hadoop. Поддержка Azure и Windows Sever развивается, даже когда мы говорим.

Он будет доступен в первой половине 2012 года.

Hadoop является платформой # 1 BigData и будет поддерживаться открытым исходным кодом и проприетарным источником (Java,.Net, Python,...) даже Oracle принимает его.

Если вы что-то развиваете, вам стоит подождать, если вы находитесь на платформе .Net.

Более подробная информация о том, что возможно, будет доступна здесь

Ответ 5

Я бы сказал, что DryadLinq - это самое близкое, что мы, люди .NET, должны использовать Hadoop. Но это зависит от того, для чего вы хотите использовать hadoop. Если вы ищете оптимизированную систему самообслуживания распределенных файлов (DFS), то DryadLINQ не то, что вы ищете. Он имеет аналог с DFS, но вам нужно вручную создавать разделы и распространять каждый раздел.

Если сказать, что его распределенный аспект исполнения Hadoop, который вы ищете, чем DryadLINQ, действительно замечателен (и нет, я не связан с MS). До тех пор, пока у вас есть кластер Microsoft HPC, чем работа с DryadLINQ, очень проста.

Код, который вы пишете, на самом деле является просто прямым LINQ-кодом, за исключением того, что вместо выполнения LINQ на IEnumerable<T> вам необходимо выполнить его на PartitionedTable<T> (структура распределенных данных самосоздания).

Что действительно было круто в DryadLINQ - это быстрый поворот времени (попытка, тестирование, настройка, повторение) при разработке алгоритмов. Вы просто пишете код LINQ для выполнения своих расчетов, а DryadLINQ позаботится о всей распределенной части выполнения. Это самый естественный аналог, с которым я столкнулся, что позволяет писать код для распределенной обработки так же, как писать код для обработки одного процесса.

Ответ 6

Вы можете посмотреть что-то вроде RavenDb, оно обеспечивает очень приличную поддержку MapReduce для довольно большого размера данных. поскольку он встроен в .Net, поэтому доступен правильный API-интерфейс LINQ.

http://ravendb.net/

Чтобы начать работу, вы можете прочитать мой блог.

Ответ 7

Возможно, лучше использовать Apache Hadoop и потоковое вещание, потому что Apache Hadoop активно развивается и поддерживается крупными гигантами в отрасли, такими как Yahoo и Facebook. Поэтому он может делать то, что вы ожидаете от него.

Если вам нужно решение в .NET, пожалуйста, проверьте реализацию Myspace @MySpace Qizmt - MySpaces Open Source Mapreduce Framework

Ответ 8

Microsoft находится в процессе развертывания HDInsight, который объявлен как "100% -асовский Apache-совместимый дистрибутив Hadoop".

Он доступен как на Windows Server, так и в качестве службы Windows Azure.

Ответ 10

Теперь вы можете использовать Hadoop напрямую из .NET. Для этого Microsoft выпустила SDK.

https://hadoopsdk.codeplex.com/

Конечно, это означает использование Java-сети Hadoop. Но имеет ли значение, работает ли сервер в java? Я уверен, что кто-то может попытаться его портировать, но я не думаю, что это было бы хорошей идеей, поскольку корпорации уже поддерживают java-версию, и я не думаю, что порт .NET получит такое же внимание.

Ответ 12

Внутри Microsoft использует Космос. Это было доступно за пределами Microsoft через Azure. Он назвал Azure Data Lake Analytics и Azure Data Lake Store. Аналитика Azure Data Lake - это своего рода пряжа как услуга, а услуга Azure Data Lake Store WebHDFS - это услуга. Первая версия Azure Data Lake Analytics содержит только U-SQL язык на основе Transact-SQL + С#.

Ответ 15

Как отмечали другие, DryadLINQ - это структура программирования, которая позволяет разработчикам писать запросы LINQ и выполнять их в кластере в аналогично MapReduce. Проект DryadLINQ недавно был выпущен под лицензией Apache на GitHub, а релиз включает поддержку для работы в кластерах YARN (включая кластеры Azure HDInsight).