我正在运行一个map reduce作业,其中的reducer数设置为默认值(一个reducer)。理论上,输出必须是每个reducer一个文件,但当我运行我的作业时,我有两个文件
零件-R-00000
而且
public class DriverDate extends Configured implements Tool { @Override public int run(String[] args) throws Exception { if (args.length != 2) { System.out.printf("Usage: AvgWordLength inputDir outputDir\n"); System.exit(-1); } Job job = new Job(getConf()); job.setJobName("Job transformacio dates"); job.setJarByClass(DriverDate.class); job.setMapperClass(MapDate.class); job.setReducerClass(ReduceDate.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(NullWritable.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(NullWritable.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{ Configuration conf = new Configuration(); ToolRunner.run(conf,new DriverDate(), args); } }
这段代码应该生成一个输出文件是正确的,因为reduce任务的默认数量是1,每个reducer生成一个输出文件。
然而,可能出了问题的事情包括(但不限于):
>
在生成jar时,请确保运行正确的jar,并确保更新正确的jar。确保您将正确的jar从生成它的计算机复制到(单节点)集群的主机。例如,在您的说明中,您说用法:AvgWordLength inputDir OutputDir
,但是这个jar的名称不太可能是AvgWordLength...
确保您没有从命令行指定不同数量的还原器(例如,通过使用a-d属性)。
除此之外,我找不到其他可能的原因...
群集中的节点数是不相关的。
问题内容: 我想在this的文本框中设置默认文件名。我可以设置吗? 问题答案: 使用以下代码: 您必须指定完整路径
在安装了以管理中的冲突后,仍然会为我打开默认设置: 以下是本回答中提到的配置: 注意:我可以用简单的文件单独运行,但是我不能在我的git项目中运行它。任何想法? 编辑:这里是我的. gitconfig:
问题内容: 我要在这里做的是 使python3成为默认的python。 除了在Mac上自动安装的python 2.7之外,我还使用 homebrew 安装了 python3 。这是我关注的网站。http://docs.python-guide.org/zh- CN/latest/starting/install3/osx/#install3-osx 我想我很好地遵循了每条指令,重新安装了xcode
我尝试使用liquibase使用liquibase“addDefaultValue”语法将我的列的默认值设置为null: 但是向myTable插入新行显示默认值仍然设置为“false”,就像以前一样。所以liquibase更改集不起作用。 如何设置列默认值为null与liquibase?
Apache Kafka文档说明: 内部Kafka Streams使用者max.poll.interval.ms默认值已从300000更改为integer.max_value
但是它确实有边距,我怎么得到这个默认的边距值呢?