【问题标题】:Copying directories in HDFS using the JAVA API使用 JAVA API 在 HDFS 中复制目录
【发布时间】:2012-04-12 04:29:01
【问题描述】:

如何将 HDFS 中的目录复制到 HDFS 中的另一个目录?

我找到了从本地 FS 复制到 HDFS 的 copyFromLocalFile 函数,但我希望源/目标都在 HDFS 中。

谢谢

【问题讨论】:

    标签: hadoop hdfs


    【解决方案1】:

    使用distcp 命令。

    distcp 的规范用例是在两个 HDFS 集群之间传输数据。 如果集群运行相同版本的 Hadoop,hdfs 方案是 适当的:

    % hadoop distcp hdfs://namenode1/foo hdfs://namenode2/bar

    如果您想通过 Java 代码执行此操作,请参阅类 org.apache.hadoop.tools.DistCp 并适当地调用它。

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 这会将所有字节从hdfs下载到本地jvm并上传到目标hdfs;所以如果你想复制非常大的文件,它可能效率不高。
      • 不要使用它,因为@lyomi解释的原因
      猜你喜欢
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多