我使用下面的代码片段作为序列文件编写器,但是如果序列文件不存在,它可以正常工作,但它确实存在,然后它会覆盖内容而不是附加到它。
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);
提前谢谢!
1条答案
按热度按时间fiei3ece1#
使用
Writer
对于sequencefile.writer,如下所示:然后使用its append方法。
我希望这个链接能对你有所帮助。
下面是允许附加到现有SequenceFile的链接。问题已在2.7.2中解决