28

我想找到好的和健壮的 MapReduce 框架,可以从 Scala 中使用。

4

8 回答 8

31

补充一下关于 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

10 月 5 日更新。11

还有Scoobi框架,具有令人敬畏的表现力。

于 2009-06-08T20:00:47.917 回答
3

http://hadoop.apache.org/与语言无关。

于 2009-06-07T15:20:56.883 回答
3

就个人而言,我已经成为 Spark 的忠实粉丝

http://spark-project.org/

您可以进行内存集群计算,从而显着减少磁盘密集型 mapreduce 操作的开销。

于 2013-02-01T12:49:23.193 回答
2

您可能对scouchdb感兴趣,这是一个使用CouchDB的 Scala 接口。

另一个想法是使用GridGainScalaDudes有一个在 Scala 中使用 GridGain 的示例。这是另一个例子

于 2009-10-30T06:50:20.813 回答
2

不久前,我恰好遇到了这个问题,并最终编写了一个小基础设施,以便轻松使用 Scala 中的 Hadoop。我自己用了一段时间,但我终于把它放在网上了。它被命名(非常原始)ScalaHadoop

于 2010-07-18T22:40:19.417 回答
2

对于 hadoop 之上的 scala API,请查看Scoobi,它仍在大量开发中,但显示出很多希望。还有一些努力在Scala 孵化器中的 hadoop 之上实现分布式集合,但这种努力尚不可用。

还有一个新的用于从 Twitter 级联的 scala 包装器,称为Scalding。在非常简要地查看了 Scalding 的文档之后,似乎虽然它使与级联的集成更加顺畅,但它仍然没有解决我认为的级联的主要问题:类型安全。级联中的每个操作都对级联的元组(基本上是具有或不具有单独架构的字段值列表)进行操作,这意味着类型错误,即将键作为字符串连接,将键作为长连接会导致运行时失败。

于 2012-01-04T20:52:32.120 回答
1

进一步 jshen 的观点:

hadoop 流只使用套接字。使用 unix 流,您的代码(任何语言)只需能够从标准输入读取并输出制表符分隔的流。实现一个映射器,如果需要,一个reducer(如果相关,将其配置为组合器)。

于 2010-12-15T02:14:37.033 回答
0

我在 Github 上使用 Hadoop 添加了 MapReduce 实现,这里有几个测试用例:https ://github.com/sauravsahu02/MapReduceUsingScala 。希望有帮助。请注意,该应用程序已经过测试。

于 2021-05-24T08:42:05.917 回答