0

我写了一份工作,他的角色之一是在 HDFS 中复制很多非常大的文件。我发现使用 FileUtil.copy() 效率不高。

有没有更有效的方法来做到这一点?我听说 DistCp.java 比 FileUtil.copy() 更好吗?有 DistCp.java Cloudera 实现吗?

4

1 回答 1

2

有 DistCp.java Cloudera 实现吗?

不确定您所说的 Cloudera 实现是什么意思。它是标准 Hadoop 安装的一部分,因此它也应该是 CDH 的一部分。您也可以直接使用DistCp命令。DistCp 命令在内部调用 DistCp.java 类来复制文件。

我听说 DistCp.java 比 FileUtil.copy() 更好吗?

FileUtil.copy() 方法是按顺序复制文件,而 DistCp 生成一个 MR 作业来复制文件,这样效率更高,因为复制是并行进行的。查看DistCp文档以获取更多详细信息。

于 2011-12-14T14:44:50.233 回答