gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 14:22:37 25 4
gpt4 key购买 nike

我有一个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 接口(interface)从 hdfs 获取文件。

REST url 看起来像

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

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

关于java - Servlet 执行 Hadoop MapReduce 作业并显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17415466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com