Linux 将数据从一个HDFS目录连续复制到另一个HDFS目录

Linux 将数据从一个HDFS目录连续复制到另一个HDFS目录,linux,hadoop,hdfs,rsync,Linux,Hadoop,Hdfs,Rsync,我在hdfs中有一个目录,每2天填充一次文件。我希望将此目录中的所有文件复制到另一个目录,以便在今天收到新文件时,将该文件复制到重复目录 我们如何在Hdfs中做到这一点 我知道我们可以在linux中使用rsync实现这一点。Hdfs中也有类似的方法吗?没有,Hdfs中没有可用的文件同步方法。您必须手动或通过任何调度程序(cron)执行hdfs dfs-cp或hadoop distcp) 如果文件数量较多,则首选distcp hadoop distcp -update <src_dir>

我在hdfs中有一个目录,每2天填充一次文件。我希望将此目录中的所有文件复制到另一个目录,以便在今天收到新文件时,将该文件复制到重复目录

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


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

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

如果文件数量较多,则首选
distcp

hadoop distcp -update <src_dir> <dest_dir>
hadoop distcp-更新

如果源和目标的大小、块大小或校验和不同,则
-update
标志将被覆盖。

distcp
-update
正如您所说,将覆盖整个目录。是否有方法只检查是否只有更改,如果有更改,则仅更新这些更改?否,它仅覆盖更改。如果源文件有10个,而目标文件已经有5个,则distcp将只将剩余的5个文件写入目标文件。此更新标志将检查那些已经存在的5个文件中是否也有任何更新,如果有,将覆盖它们,否则将跳过。