有没有办法让 hadoop getmerge 部分文件而不是所有文件?
Is there a way hadoop getmerge partial part files not all files?
如何控制hadoop -getmerge只对部分文件有效,对一个目录下的所有文件无效?
getmerge 用于将HDFS 文件系统中存在的任何文件合并为本地文件系统中的单个文件。所以你可以使用:
/hdfs dfs -getmerge /path/part-r-00000 /path/part-r-00001 a.txt
但是,此命令对于下载 MapReduce 作业的输出很有用。它有多个 part-* 文件到一个本地文件中。
此外,您可以使用 Regex 作为文件名,例如 Linux。例如,要合并文件第 1、2 和 3 部分,请执行
/hdfs dfs -getmerge /path/part-r-0000[1-3] a.txt
或者从 00001 到 00009 的所有部分做:
/hdfs dfs -getmerge /path/part-r-0000? a.txt
如何控制hadoop -getmerge只对部分文件有效,对一个目录下的所有文件无效?
getmerge 用于将HDFS 文件系统中存在的任何文件合并为本地文件系统中的单个文件。所以你可以使用:
/hdfs dfs -getmerge /path/part-r-00000 /path/part-r-00001 a.txt
但是,此命令对于下载 MapReduce 作业的输出很有用。它有多个 part-* 文件到一个本地文件中。
此外,您可以使用 Regex 作为文件名,例如 Linux。例如,要合并文件第 1、2 和 3 部分,请执行
/hdfs dfs -getmerge /path/part-r-0000[1-3] a.txt
或者从 00001 到 00009 的所有部分做:
/hdfs dfs -getmerge /path/part-r-0000? a.txt