将多个文件从HDFS复制到本地:多线程?

时间:2014-08-18 09:10:41

标签: java multithreading apache hadoop hdfs

在我的Java应用程序中,我需要将多个文件从HDFS复制到本地文件系统。

以下哪两种方法会更快? 1.逐个复制文件 2.运行并行线程以复制每个文件。

1 个答案:

答案 0 :(得分:1)

如果您有一个物理磁盘作为本地文件系统的一部分,那么顺序方法最好,因为并行方法会导致磁盘(在硬盘驱动器的情况下)不必要地来回旋转(取决于操作系统可以帮助您与否以及写入的性质,并且因为您一次只能使用一个物理资源,因此一个线程就足够了。

如果这个本地文件系统有多个物理磁盘,那么运行并行线程以获得更高性能的可能性是理想的(比如线程A写入所有要驱动C的文件,而线程B写入所有要转移的文件)驾驶D)。