草庐IT

multipleOutputs

全部标签

java - 使用 MapReduce MultipleOutputs 清空输出文件

我在我的Reducer中使用MultipleOutputs,因为我想为每个键创建单独的结果文件,但是,尽管创建了默认结果文件part-r-xxxx并包含正确的值,但每个结果文件都是空的。这是我的JobDriver和Reducer代码主类publicstaticvoidmain(String[]args)throwsException{intcurrentIteration=0;intreducerCount,roundCount;Configurationconf=createConfiguration(currentIteration);cleanEnvironment(conf);

java - 如何使用 MultipleOutputs 类在 Hadoop 中输出具有特定扩展名(如 .csv)的文件

我目前有一个MapReduce程序,它使用MultipleOutputs将结果输出到多个文件中。reducer看起来像这样:privateMultipleOutputsmo=newMultipleOutputs(context);...publicvoidreduce(Edgekeys,Iterablevalues,Contextcontext)throwsIOException,InterruptedException{Stringdate=records.formatDate(millis);out.set(keys.get(0)+"\t"+keys.get(1));parser.

java - 在 MultipleOutputs 中 - 避免将我的 key 写入文件

您好,我正在使用Hadoopmapreduce,我正在使用多输出。下面是我的代码mos=newMultipleOutputs(context);mos.write(key,value,propertyName.trim());但是它会生成多个后缀为-m-0000的文件,我该如何消除它?而且我也不想在文件中打印我的key。那么我怎样才能避免我的key被写入文件呢? 最佳答案 考虑使用LazyOutputFormat-如果没有通过context.write写入任何内容,它不会创建默认输出文件:job.setOutputFormat(La

Hadoop MultipleOutputs 输出文件 "part-day-26"

我在mapreduce作业中遇到问题,我希望输出文件的格式为file-day-26而不是part-r-00000.我已尝试使用addNamedOutput方法来完成此操作(MultipleOutputs),但只能更改部分part.在旧的API中,我看到可以使用generateFileNameForKeyValue方法来做到这一点(MultipleTextOutputFormat),但是我不能使用旧的API,所以我想知道Hadoop的新API中是否有这样的东西。有人可以帮助我吗?谢谢。 最佳答案 尝试使用MultipleOutputF

java - spark java api 有像 hadoop MultipleOutputs/FSDataOutputStream 这样的类吗?

我试图在减少部分输出一些特定的记录,这取决于键值记录的值。在hadoopmapreduce中可以使用类似的代码publicvoidsetup(Contextcontext)throwsIOException,InterruptedException{super.setup(context);Configurationconf=context.getConfiguration();FileSystemfs=FileSystem.get(conf);inttaskID=context.getTaskAttemptID().getTaskID().getId();hdfsOutWriter=

java - MultipleOutputs 与 SideEffectFile

我想知道MultipleOutputs与FSDataOutputStream与TaskSideEffectFile之间在创建不同输出文件方面的优势/差异?一个。使用多重输出:MultipleOutputsmos;voidconfigure(){mos.newMultipleOutputs(conf);}reduce(){mos.getCollector("desired_path",reporter).collect(newText(key),newText(val));}使用FSDataOutputream,我们将输出写入文件系统中的所需路径,如下所示:voidconfigure()

java - MRUnit 测试在使用 MULTIPLEOUTPUTS 写入 HDFS 时给出 NULLPOINTER 异常

我目前有一个mapReduce程序,可以将数据发送到具有不同文件名的hdfs。所以在我的reducer中,我使用MultipleOutputs写入HDFS中的不同文件(下面的完整reducer代码)。我想使用mrunit测试我的代码,下面是我的测试方法。@TestpublicvoidreducerMRUnit()throwsIOException{Stringoutput="";ArrayListlist=newArrayList(0);list.add(newText(""));reduceDriver.withInput(newText(""),list);reduceDriver