[英]Run Hadoop MapReduce Job from Dynamic Web Project on WildFly Servlet
[英]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.