java—将多个文件从hdfs复制到本地:多线程?

hrirmatl  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(496)

在我的java应用程序中,我需要将多个文件从hdfs复制到本地文件系统。
以下两种方法中哪一种更快?1按顺序逐个复制文件2。运行并行线程来复制每个文件。

djp7away

djp7away1#

如果您有一个物理磁盘作为本地文件系统的一部分,那么最好采用顺序方法,因为并行方法会导致磁盘(在硬盘驱动器的情况下)不必要地来回旋转(取决于操作系统是否可以帮助您以及写入的性质),而且因为一次只能使用一个物理资源,所以一个线程就足够了。
如果这个本地文件系统有多个物理磁盘,那么运行并行线程以获得更高性能的可能性就非常理想了(比如线程a写入所有要到驱动器c的文件,而线程b写入所有要到驱动器d的文件)。

相关问题