繁体   English   中英

Servlet执行Hadoop MapReduce作业并显示结果

[英]Servlet executes a Hadoop MapReduce job and display result

我有一个tomcat服务器,有几个servlet,一个mapreduce作业(使用hadoop编写),还安装了Pig,它们都与hadoop处于同一群集中。

现在,我需要我的servlet能够执行mapreduce程序(或Pig脚本),并显示mapreduce程序返回的结果。 无论如何,有没有使servlet执行mapreduce作业并取回结果的方法?

++我认为可以通过简单地调用exec或ProcessBuilder来使我的servlet执行mapreduce作业(或Pig脚本)。 如果我错了,请在这里纠正我。

++但是,mapreduce作业(或Pig脚本)会在HDFS中生成结果,这是我不确定如何取回结果并将其反馈回servlet的地方。 一种解决方案对我来说似乎是业余的且效率低下,它是再次使用ProcessBuilder(或exec)将结果从HDFS复制到本地,并从那里读取结果。

非常感谢您分享的任何建议。

您可以对HDFS使用REST接口,以从HDFS获取文件。

REST URL看起来像

http://something.net:50070/webhdfs/v1/path/to/output

顺便说一句,要提交作业,您还可以使用oozie的客户端api而不是“ exec”来提交。 Oozie的客户端API更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM