gpt4 book ai didi

hadoop - 如何使 Hadoop Distcp 复制自定义文件夹列表?

转载 作者:行者123 更新时间:2023-12-02 18:41:16 27 4
gpt4 key购买 nike

我正在寻找有效的方法来将目录列表从一个 Hadoop 文件系统同步到另一个具有相同目录结构的文件系统。

例如,假设 HDFS1 是创建数据的官方来源,我们需要每周一次将新创建的数据复制到所有 下。数据-2 HDFS2 的目录:

**HDFS1**
hdfs://namenode1:port/repo/area-1/data-1
hdfs://namenode1:port/repo/area-1/data-2
hdfs://namenode1:port/repo/area-1/data-3
hdfs://namenode1:port/repo/area-2/data-1
hdfs://namenode1:port/repo/area-2/data-2
hdfs://namenode1:port/repo/area-3/data-1

**HDFS2** (subset of HDFS1 - only data-2)
hdfs://namenode2:port/repo/area-1/dir2
hdfs://namenode2:port/repo/area-2/dir2

在这种情况下,我们有 2 个要同步的目录:
/repo/area-1/data-2
/repo/area-1/data-2

这可以通过以下方式完成:
hadoop distcp hdfs://namenode1:port/repo/area-1/data-2 hdfs://namenode2:port/repo/area-1
hadoop distcp hdfs://namenode1:port/repo/area-2/data-2 hdfs://namenode2:port/repo/area-2

这将运行 2 个 Hadoop 作业,如果目录数量很大,假设 hdfs://namenode1:port/下有 500 个不同的非重叠目录 - 这将创建 500 个 Hadoop 作业,这显然是多余的。

有没有办法将自定义目录列表注入(inject) distcp?
如何使 distcp 创建一项复制自定义目录列表中所有路径的作业?

最佳答案

不确定这是否能解决问题,但我注意到您没有使用“更新”运算符。 “-update”运算符只会复制两个文件系统之间的 block 差异......

关于hadoop - 如何使 Hadoop Distcp 复制自定义文件夹列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19722723/

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