2009-06-07 2 views

ответ

30

Чтобы добавить ответ на 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 рамки, которые имеют удивительную выразительность.

+0

SHadoop довольно старый - он использует старый механизм MR. Я обновил импликации в какой-то момент: https://github.com/schmmd/Hadoop-Scala-Commons – schmmd

+0

Скальдинг также является опцией. https://github.com/twitter/scalding –

3

http://hadoop.apache.org/ не является агностиком.

+0

Извините, но я не просил реализации Java. Действительно, Hadoop можно подключить к Scala, но код шаблона должен быть написан на Java. –

+1

Напишите ScalaHadoopAdapter, который позаботится обо всем шаблоне и опубликует его как бесплатный/с открытым исходным кодом? – yfeldblum

+7

шаблона не нужно писать в java. – jshen

2

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

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

2

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

1

к точке дальнейшего jshen в:

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

2

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

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

+0

У Scalding есть API-интерфейс типа: https://github.com/twitter/scalding/wiki/Type-safe-api-reference и в API полей (который вы упоминание), присоединение строки к длине не вызывает исключений во время выполнения (если они оба являются числами). Разумеется, в API типа безопасного такого компилятора запрещено объединение. –

3

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

http://spark-project.org/

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

Смежные вопросы