groovy - 使用Groovy在Hadoop流中包含jar文件

标签 groovy streaming hadoop

我喜欢Hadoop流,因为它能够快速地从 map 减少工作中抽出又快又脏的一个。我也很喜欢Hroovy,它使我所有经过精心编码的Java都可以访问脚本语言。现在,我想将两个放在一起。我想带一个 jar 用我的一些Java类,并在基于groovy的映射器和化简器中利用它们。

是否有捷径可寻?似乎这可能会大大减少 map 缩减任务的开发时间,尤其是那些我将要运行几次的任务。

我想要做的是:

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

任何指针该怎么做?

最佳答案

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

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

关于groovy - 使用Groovy在Hadoop流中包含jar文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3368421/

相关文章:

hadoop - 统计 GROUP BY 中 PIG 查询和 MySql 查询结果的差异

list - Groovy 获取某个索引下列表中的所有元素

grails - 如何在 Grails 插件中实现 Groovy 全局 AST 转换?

带有音乐流媒体的 Android 应用程序

android - 在android中播放iis流畅的流媒体(.ism)

hadoop - 从本地存储文件导入数据后,HIVE查询返回空值

java - 在哪里运行MapReduce作业

java - groovy ActionListener 在一种情况下不起作用

java - 使用 spock 测试重载的 java 方法

php - 如何通过网络连续流音频