【发布时间】:2014-10-11 03:45:23
【问题描述】:
在我的 Java 应用程序中,我需要将多个文件从 HDFS 复制到本地文件系统。
以下两种方法中哪一种会更快? 1.逐个逐个拷贝文件 2. 运行并行线程来复制每个文件。
【问题讨论】:
标签: java multithreading apache hadoop hdfs
在我的 Java 应用程序中,我需要将多个文件从 HDFS 复制到本地文件系统。
以下两种方法中哪一种会更快? 1.逐个逐个拷贝文件 2. 运行并行线程来复制每个文件。
【问题讨论】:
标签: java multithreading apache hadoop hdfs
如果您有一个物理磁盘作为本地文件系统的一部分,那么顺序方法最好,因为并行方法会导致磁盘(在硬盘驱动器的情况下)不必要地来回旋转(取决于操作系统可以为您提供多少帮助以及写入的性质),而且因为您一次只能使用一个物理资源,所以一个线程就足够了。
如果这个本地文件系统有多个物理磁盘,那么运行并行线程以获得更高性能的可能性可能是理想的(例如线程 A 写入将要驱动 C 的所有文件,而线程 B 写入所有要驱动的文件驱动器 D)。
【讨论】: