gpt4 book ai didi

hadoop - 将参数传递给 Hadoop 映射器

转载 作者:可可西里 更新时间:2023-11-01 14:09:30 25 4
gpt4 key购买 nike

我正在使用新的 Hadoop API 并寻找一种方法将一些参数(几个字符串)传递给映射器。
我该怎么做?

This solutions works for old API :

JobConf job = (JobConf)getConf();
job.set("NumberOfDocuments", args[0]);

这里,“NumberOfDocuments”是参数的名称,它的值是从命令行参数“args[0]”中读取的。设置此参数后,您可以按如下方式在 reducer 或 mapper 中检索其值:

private static Long N;
public void configure(JobConf job) {
N = Long.parseLong(job.get("NumberOfDocuments"));
}

请注意,棘手的部分是您不能像这样设置参数:

Configuration con = new Configuration();
con.set("NumberOfDocuments", args[0]);

最佳答案

在 main 方法中设置所需的参数如下或使用 -D command line option在运行作业时。

Configuration conf = new Configuration();
conf.set("test", "123");

Job job = new Job(conf);

在 mapper/reducer 中获取参数为

Configuration conf = context.getConfiguration();
String param = conf.get("test");

关于hadoop - 将参数传递给 Hadoop 映射器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8244474/

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