【问题标题】:MapReduce implementation in ScalaScala 中的 MapReduce 实现
【发布时间】:2009-06-07 15:14:59
【问题描述】:

我想找到一个良好且健壮的 MapReduce 框架,以便在 Scala 中使用。

【问题讨论】:

    标签: scala frameworks google-analytics mapreduce


    【解决方案1】:

    补充一下关于 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框架,表现力非常棒。

    【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 很抱歉,我没有要求 Java 实现。事实上,Hadoop 可以插入 Scala,但样板代码必须用 Java 编写。
    • 编写一个 ScalaHadoopAdapter 来处理所有样板并将其发布为免费/开源?
    • 样板文件不需要用java编写。
    【解决方案3】:

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

    http://spark-project.org/

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

    【讨论】:

      【解决方案4】:

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

      另一个想法是使用GridGainScalaDudes 有一个使用 GridGain 和 Scala 的示例。 here 是另一个例子。

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

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

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

          【讨论】:

          • Scalding 确实有一个类型安全的 API:github.com/twitter/scalding/wiki/Type-safe-api-reference 并且在 Fields API(您提到的)中,将字符串连接到 long 不会导致运行时异常(如果它们是两个数字)。当然,在类型安全的 API 中,编译器禁止这种连接。
          【解决方案7】:

          进一步 jshen 的观点:

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

          【讨论】:

            【解决方案8】:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2022-01-22
              • 2016-03-24
              • 1970-01-01
              • 2019-02-01
              • 1970-01-01
              相关资源
              最近更新 更多