gpt4 book ai didi

hadoop - 使用 hadoop getmerge 在文档之间添加新行

转载 作者:可可西里 更新时间:2023-11-01 14:50:41 24 4
gpt4 key购买 nike

我正在尝试从 hadoop 中获取一堆文件并将它们合并到一个大文件中,我希望在每个文档之间有一个换行符。 hadoop fs -getmerge <src> <localdst> addnl应该这样做,但无论如何它似乎都不会添加换行符!我也试过 hadoop fs -getmerge <src> <localdst> -nl看到这个之后:https://issues.apache.org/jira/browse/HADOOP-7340但这也行不通。我错过了什么吗?这对任何人都有效吗?

谢谢!

最佳答案

如果您乐于编写一些代码来执行此操作(并且不依赖于 shell 命令),您可以修改当前的 FsShell.copyMergeToLocal 方法(这是 hadoop fs -getmerge 正在调用的方法)以包含一个自定义文件分隔符字符串(在您的情况下为“\n\n”):

void copyMergeToLocal(String srcf, Path dst, String fileSeparatorString) throws IOException {
Path srcPath = new Path(srcf);
FileSystem srcFs = srcPath.getFileSystem(getConf());
Path [] srcs = FileUtil.stat2Paths(srcFs.globStatus(srcPath),
srcPath);
for(int i=0; i<srcs.length; i++) {
FileUtil.copyMerge(srcFs, srcs[i],
FileSystem.getLocal(getConf()), dst, false,
getConf(), fileSeparatorString);
}
}

关于hadoop - 使用 hadoop getmerge 在文档之间添加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9705468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com