我找不到一个提交不使用不推荐使用的JobConf
类的Hadoop作业的示例。
JobClient
尚未弃用的,仍然仅支持带有JobConf
参数的方法。
有人可以给我指出一个Java代码示例,该示例仅使用Configuration
类(而不是JobConf
)提交Hadoop map /
reduce作业,而mapreduce.lib.input
不是使用包mapred.input
吗?
希望对您有所帮助
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;
public class MapReduceExample extends Configured implements Tool {
static class MyMapper extends Mapper<LongWritable, Text, LongWritable, Text> {
public MyMapper(){
}
protected void map(
LongWritable key,
Text value,
org.apache.hadoop.mapreduce.Mapper<LongWritable, Text, LongWritable, Text>.Context context)
throws java.io.IOException, InterruptedException {
context.getCounter("mygroup", "jeff").increment(1);
context.write(key, value);
};
}
@Override
public int run(String[] args) throws Exception {
Job job = new Job();
job.setMapperClass(MyMapper.class);
FileInputFormat.setInputPaths(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1]));
job.waitForCompletion(true);
return 0;
}
public static void main(String[] args) throws Exception {
FileUtils.deleteDirectory(new File("data/output"));
args = new String[] { "data/input", "data/output" };
ToolRunner.run(new MapReduceExample(), args);
}
}
我必须在WIndows工作站上执行此操作
问题内容: 我想将实时生产数据库复制到本地开发数据库中。有没有一种方法可以不锁定生产数据库? 我目前正在使用: 但是它在运行时锁定每个表。 问题答案: 该选项有效吗? 根据手册页,如果要转储InnoDB表,则可以使用以下选项: 对于 innodb DB :
问题内容: 我正在使用nodejs和expressjs框架从服务器下载文件’jsonFile.json’。 我正在使用以下代码 但这会导致对整个文件内容的响应。 我期望浏览器要我将文件保存在本地磁盘中。 如何将文件保存在本地磁盘中? 问题答案: 让Express设置正确的标头,然后执行以下操作: (doc) 编辑: 由于您是通过AJAX调用进行请求的,因此您必须更改设置,因为大多数(全部?)浏览器
我正在开发一个spring启动应用程序并编写一些junit测试。 但我发现,当我运行任何测试时,tomcat也会启动,这使得这些测试非常缓慢,浪费了很多时间。 当我开发一个SpringMvc应用程序时,junit测试可以在不启动tomcat的情况下运行,这节省了很多时间。 所以,我想问它在那里无论如何要运行启动tomcat的springstart测试?
HttpServletRequest请求,HttpServletResponse响应 但是在典型的JSF项目中,我根本没有看到这些类的使用,相反,我看到的只是托管bean和Facelet页面。 但是,在web.xml中,我看到:
问题内容: 我想像运行shell命令: 不用任何插件就能做到吗?由于Jenkins不是,而是服务帐户,我该如何添加? 问题答案: 首先执行 然后执行 然后注销 对于注销很重要,因为您需要重新评估组成员身份 登录并重试 有用!