【发布时间】:2009-06-07 15:14:59
【问题描述】:
我想找到一个良好且健壮的 MapReduce 框架,以便在 Scala 中使用。
【问题讨论】:
标签: scala frameworks google-analytics mapreduce
我想找到一个良好且健壮的 MapReduce 框架,以便在 Scala 中使用。
【问题讨论】:
标签: scala frameworks google-analytics mapreduce
补充一下关于 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 10 月 5 日。 11
还有Scoobi框架,表现力非常棒。
【讨论】:
http://hadoop.apache.org/ 与语言无关。
【讨论】:
【讨论】:
您可能对scouchdb 感兴趣,这是一个使用CouchDB 的Scala 接口。
另一个想法是使用GridGain。 ScalaDudes 有一个使用 GridGain 和 Scala 的示例。 here 是另一个例子。
【讨论】:
不久前,我恰好遇到了这个问题,并最终编写了一个小基础设施,以便轻松使用 Scala 中的 Hadoop。我自己用了一段时间,但我终于把它放在网上了。它被命名为(非常原始)ScalaHadoop。
【讨论】:
对于基于 hadoop 的 scala API,请查看 Scoobi,它仍在大量开发中,但显示出很多希望。在 Scala incubator 中也有一些努力在 hadoop 之上实现分布式集合,但该努力尚不可用。
还有一个用于从 Twitter 级联的新 scala 包装器,称为 Scalding。 在非常简要地查看了 Scalding 的文档之后,似乎 虽然它使与级联的集成更加顺畅,但它仍然如此 不能解决我认为级联的主要问题:类型安全。 级联中的每个操作都对级联的元组进行操作(基本上是 具有或不具有单独架构的字段值列表),这意味着 类型错误,即将键连接为字符串,键连接为长引线 运行时失败。
【讨论】:
进一步 jshen 的观点:
hadoop 流只使用套接字。使用 unix 流,您的代码(任何语言)只需能够从标准输入读取并输出制表符分隔的流。实现一个映射器,如果需要,一个reducer(如果相关,将其配置为组合器)。
【讨论】:
我在 Github 上添加了使用 Hadoop 的 MapReduce 实现,这里有几个测试用例:https://github.com/sauravsahu02/MapReduceUsingScala。 希望有帮助。请注意,该应用程序已经过测试。
【讨论】: