有没有办法运行DistCp,并在文件名冲突时重命名?也许通过一个例子来解释会更容易。
假设我要将hdfs:///foo复制到hdfs:///bar,而foo包含以下文件:
hdfs:///foo/a
hdfs:///foo/b
hdfs:///foo/c
并且条形图包含以下内容:
hdfs:///bar/a
hdfs:///bar/b
然后在复制后,我希望bar包含类似以下内容:
hdfs:///bar/a
hdfs:///bar/a-copy1
hdfs:///bar/b
hdfs:///bar/b-copy1
hdfs:///bar/c
如果没有这样的选项,那么最可靠/高效的方法是什么?我自己编写的 distcp 版本肯定可以完成,但这似乎需要很多工作并且容易出错。基本上,我完全不关心文件名,只关心它们所在的目录,并想定期复制大量数据到“合并”目录中。