2017-02-24 35 views
1

我在hdfs中有一个目录,每两天获取一次文件。我想将这个目录中的所有文件复制到另一个文件中,这样如果今天有新文件出现,我希望将文件复制到重复目录中。将数据从一个HDFS目录复制到另一个连续

我们如何在Hdfs中做到这一点。

我知道我们可以在linux中使用rsync来做到这一点。在Hdfs中也有类似的方法吗?

回答

2

不,HDFS没有可用的文件同步方法。您必须手动或通过任何调度程序(cron)执行hdfs dfs -cphadoop distcp

如果文件数量多,distcp是首选。如果源和目标的大小,块大小,或校验和不同

hadoop distcp -update <src_dir> <dest_dir> 

-update标志将覆盖。

+0

'distcp''-update'就像你说的覆盖整个目录。有没有办法只检查是否只有变化,如果有变化,然后只更新那些变化 – User12345

+1

不,它只覆盖更改。如果源有10个文件,并且目标已经有5个文件,distcp将只写剩余的5个文件到目的地。这个更新标志将检查那些已经存在的5个文件中是否有更新,如果有更新会被覆盖或者被跳过。 – franklinsijo

相关问题