java—附加到现有序列文件会覆盖内容

798qvoo8  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(291)

我使用下面的代码片段作为序列文件编写器,但是如果序列文件不存在,它可以正常工作,但它确实存在,然后它会覆盖内容而不是附加到它。

SequenceFile.Writer writer = SequenceFile.createWriter(FileContext.getFileContext(conf), conf, sequenceFile, Text.class, Text.class, CompressionType.NONE, null, new Metadata(), EnumSet.of(CreateFlag.CREATE, CreateFlag.APPEND));

请注意:我使用的是hadoop2.7.2。
有谁能帮助我如何附加到现有的序列文件吗?
我也尝试了以下选项,但没有成功:

Writer writer = SequenceFile.createWriter(conf, SequenceFile.Writer.file(sequenceFile), SequenceFile.Writer.keyClass(Text.class), SequenceFile.Writer.valueClass(Text.class), SequenceFile.Writer.appendIfExists(true), metadataOption);

提前谢谢!

fiei3ece

fiei3ece1#

使用 Writer 对于sequencefile.writer,如下所示:

Writer writer = SequenceFile.createWriter(//required params);

然后使用its append方法。

Writer.append(param1, param2);

我希望这个链接能对你有所帮助。
下面是允许附加到现有SequenceFile的链接。问题已在2.7.2中解决

相关问题