代码之家  ›  专栏  ›  技术社区  ›  downer

使用Groovy在Hadoop流媒体中包含jar文件

  •  0
  • downer  · 技术社区  · 14 年前

    有什么简单的方法吗?似乎这可以大大缩短map reduce任务的开发时间,尤其是那些我只打算运行几次的任务。

    我想做的是:

    hadoop jar streaming.jar -mapper "groovy -ne 'import a.b.c.Foo; println Foo.doSomething(line)' -reducer "wc -l" -input input -output output -jarstoinclude ~/jarWithJava.jar
    

    有什么办法吗?

    2 回复  |  直到 13 年前
        1
  •  1
  •   bajafresh4life    13 年前

    如果需要将jar添加到groovy类路径中,可以将它们放在每个Hadoop节点的~/.groovy/lib中。

    或者您可以将jar复制到每个节点中的某个目录,并使用groovy命令的-cp标志显式指定它们。

        2
  •  1
  •   Nat Ritmeyer    12 年前

    您可以使用 -libjar 属性。既然groovy是在hadoop jobs jam中运行的,那么它应该能够找到类。