【发布时间】:2013-07-02 00:00:07
【问题描述】:
我有一个 tomcat 服务器,有几个 servlet,一个 mapreduce 作业(使用 hadoop 编写),还安装了 pig,都与 hadoop 位于同一个集群中。
现在我需要我的 servlet 能够执行 mapreduce 程序(或 pig 脚本),并显示 mapreduce 程序返回的结果。有没有办法让 servlet 执行 mapreduce 作业并取回结果?
++ 我认为只需调用 exec 或 ProcessBuilder 就可以让我的 servlet 执行 mapreduce 作业(或 pig 脚本)。如果我错了,请在这里纠正我。
++ 但是,mapreduce 作业(或 pig 脚本)在 HDFS 中产生结果,我不确定如何取回结果并将它们反馈给 servlet。一种对我来说似乎很业余且效率低下的解决方案是再次使用 ProcessBuilder(或 exec)将结果从 HDFS 复制到本地,然后从那里读取结果。
非常感谢您分享的任何建议。
【问题讨论】:
-
所以你想再写一个Hue?
标签: java servlets hadoop mapreduce apache-pig