gpt4 book ai didi

hadoop - 您如何以编程方式启动 hadoop 工作?

转载 作者:行者123 更新时间:2023-12-02 21:41:42 25 4
gpt4 key购买 nike

我是hadoop的新手。在我阅读的教程中,您将代码打包到一个 jar 中,然后通过

yarn jar [jar]

我有这个工作,但我想做的是以编程方式动态地将代码传递给hadoop。换句话说,我有正在执行某些处理的 java 代码,我想将其中的一些处理转移到正在运行的 hadoop 集群中,得到答案并将其合并到我正在运行的 java 代码中。我确信有办法做到这一点 - 很抱歉没有在文档中找到它。我有哪些选择?

非常感谢。

编辑澄清:我说的是你有一个网络应用程序,例如,有人可以去一个网页,输入一些文本,该文本成为一些 hadoop 工作的参数,就像它可能成为文本搜索的一部分在集群上完成并将结果返回给用户。那么你需要某种方式通过某种客户端接口(interface)与hadoop进行通信,而不是创建一个jar并将jar提交给hadoop?

最佳答案

http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html#Example:_WordCount_v1.0展示了如何通过 Java 做到这一点,您的关键部分是 main方法:

public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
Job job = Job.getInstance(conf, "word count");
job.setJarByClass(WordCount.class);
job.setMapperClass(TokenizerMapper.class);
job.setCombinerClass(IntSumReducer.class);
job.setReducerClass(IntSumReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
FileInputFormat.addInputPath(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1]));
System.exit(job.waitForCompletion(true) ? 0 : 1);
}

关于hadoop - 您如何以编程方式启动 hadoop 工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28282528/

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