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

Реализация MapReduce в Scala

Я хотел бы найти хорошую и надежную структуру MapReduce, которая будет использоваться из Scala.

4b9b3361

Ответ 1

Чтобы добавить к ответу на Hadoop: есть как минимум две обертки Scala, которые делают работу с Hadoop более приятной.

Scala Уменьшение карты (SMR): http://scala-blogs.org/2008/09/scalable-language-and-scalable.html

SHadoop: http://jonhnny-weslley.blogspot.com/2008/05/shadoop.html

UPD 5 окт. 11

Существует также Scoobi framework, который имеет потрясающую выразительность.

Ответ 3

Лично я стал большим поклонником Spark

http://spark-project.org/

У вас есть возможность выполнять кластерные вычисления в памяти, что значительно сокращает накладные расходы, которые могут возникнуть при работе с дисковыми массивами.

Ответ 4

Вам может быть интересно scouchdb, интерфейс Scala для использования CouchDB.

Другая идея - использовать GridGain. ScalaDudes есть пример использования GridGain с Scala. И здесь - еще один пример.

Ответ 5

A назад, я столкнулся с этой проблемой и в итоге написал небольшую инфраструктуру, чтобы упростить использование Hadoop от Scala. Некоторое время я использовал его самостоятельно, но я, наконец, нашел его в Интернете. Он назван (очень изначально) ScalaHadoop.

Ответ 6

Для API scala поверх хаопа проверьте Scoobi, он все еще находится в тяжелом развитии, но показывает много обещаний, Также прилагаются некоторые усилия по внедрению распределенных коллекций поверх хаопа в инкубаторе Scala, но эти усилия еще не используются.

Существует также новая оболочка scala для каскадирования из Twitter, называемая Scalding. Посмотрев очень кратко на документацию для Scalding, кажется что, хотя он делает интеграцию с каскадным сглаживанием, он все еще делает не решить, что я вижу в качестве основной проблемы с каскадом: тип безопасности. Каждая операция в каскадировании работает на каскадных кортежах (в основном список значений полей с или без отдельной схемы), что означает, что ошибки типа I.e. Присоединение к ключу как строки и ключа в виде длинного вывода к ошибкам во время выполнения.

Ответ 7

для дальнейшего jshen point:

потоки hadoop просто используют сокеты. используя потоки unix, ваш код (любой язык) просто должен иметь возможность читать потоки с разделителями stdin и output tab. внедрить картограф и, если необходимо, редуктор (и, если необходимо, настроить его как объединитель).