Реализация MapReduce в Scala - PullRequest
28 голосов
/ 07 июня 2009

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

Ответы [ 7 ]

30 голосов
/ 09 июня 2009

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

Scala Map Reduce (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 голосов
/ 01 февраля 2013

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

http://spark -project.org /

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

3 голосов
/ 07 июня 2009

http://hadoop.apache.org/ не зависит от языка.

2 голосов
/ 05 января 2012

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

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

2 голосов
/ 19 июля 2010

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

2 голосов
/ 30 октября 2009

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

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

1 голос
/ 15 декабря 2010

до точки jshen:

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

...