Java 如何在作业完成后以编程方式关闭剩余的mapreduce拆分
我是hadoop/Thread/mapreduce的新手Java 如何在作业完成后以编程方式关闭剩余的mapreduce拆分,java,hadoop,mapreduce,Java,Hadoop,Mapreduce,我是hadoop/Thread/mapreduce的新手 我正在尝试使用MapReduce作业将文档索引到Cassandra的ElasticSearch中。我看到了大约700个拆分,但是我所有的文档都被用户日志中的第16个拆分所索引。一旦没有更多的文档可供索引,是否有任何方法可以通过编程方式优雅地关闭剩余的任务?您可以使用map方法中的以下代码获取映射器的任务id和输入拆分 JobConf.get("mapred.task.id"); FileSplit fileSplit = (FileSp
我正在尝试使用MapReduce作业将文档索引到Cassandra的ElasticSearch中。我看到了大约700个拆分,但是我所有的文档都被用户日志中的第16个拆分所索引。一旦没有更多的文档可供索引,是否有任何方法可以通过编程方式优雅地关闭剩余的任务?您可以使用map方法中的以下代码获取映射器的任务id和输入拆分
JobConf.get("mapred.task.id");
FileSplit fileSplit = (FileSplit)context.getInputSplit();
String filename = fileSplit.getPath().getName()
使用上述文件名,您将获得输入拆分的文件名,使用该文件名,您可以终止所有不需要执行的任务
请检查在完成几个映射任务后作业是否成功完成,我认为作业应该失败。我认为最好只输入需要为mapreduce程序编制索引的文件,而不是停止map任务。谢谢。让我试试。