Java 关于hadoop文件系统transferFromLocalFile

Java 关于hadoop文件系统transferFromLocalFile,java,hadoop,hdfs,Java,Hadoop,Hdfs,我正在编写代码,以便将文件并行传输到hadoop hdfs。所以我有很多线程调用filesystem.copyFromLocalFile 我认为打开一个文件系统的成本不小,所以在我的项目中只打开了一个文件系统。所以我认为当这么多线程同时调用它时可能会出现问题。但到目前为止,它运行良好,没有问题 有人能告诉我一些关于这种复制方法的信息吗? 非常感谢您,祝您周末愉快。您能告诉我有关copyFromLocalFile()的更多信息吗 我不确定,但我猜在您的例子中,线程之间共享相同的资源。由于您只有一个

我正在编写代码,以便将文件并行传输到hadoop hdfs。所以我有很多线程调用filesystem.copyFromLocalFile

我认为打开一个文件系统的成本不小,所以在我的项目中只打开了一个文件系统。所以我认为当这么多线程同时调用它时可能会出现问题。但到目前为止,它运行良好,没有问题

有人能告诉我一些关于这种复制方法的信息吗?
非常感谢您,祝您周末愉快。

您能告诉我有关copyFromLocalFile()的更多信息吗


我不确定,但我猜在您的例子中,线程之间共享相同的资源。由于您只有一个文件系统实例,每个thead可能会在它们之间以分时的方式共享此对象。

您能告诉我关于copyFromLocalFile()的更多信息吗


我不确定,但我猜在您的例子中,线程之间共享相同的资源。因为您只有一个文件系统实例,所以每个thead可能会在它们之间以分时的方式共享此对象。

我认为需要考虑以下设计要点:
a) 流程的瓶颈在哪里?我认为在2-3并行拷贝操作中,本地磁盘或1GB以太网将成为瓶颈。您可以以多线程应用程序的形式执行,也可以运行几个进程。无论如何,我认为您不需要高水平的并行性。 b) 错误处理。一个线程的故障不应停止整个进程,同时文件也不应丢失。在这种情况下,我通常会同意,在最坏的情况下,文件可以复制两次。若正常-系统可以在简单的“复制然后删除”场景中工作。
c) 如果您从其中一个群集节点进行复制,HDF将变得不平衡,因为一个副本将存储在您复制的主机上。您需要不断地进行平衡。

我认为需要考虑以下设计要点:
a) 流程的瓶颈在哪里?我认为在2-3并行拷贝操作中,本地磁盘或1GB以太网将成为瓶颈。您可以以多线程应用程序的形式执行,也可以运行几个进程。无论如何,我认为您不需要高水平的并行性。 b) 错误处理。一个线程的故障不应停止整个进程,同时文件也不应丢失。在这种情况下,我通常会同意,在最坏的情况下,文件可以复制两次。若正常-系统可以在简单的“复制然后删除”场景中工作。
c) 如果您从其中一个群集节点进行复制,HDF将变得不平衡,因为一个副本将存储在您复制的主机上。您需要不断进行平衡。

代码中没有同步。因此,没有时间共享。无论运行多少线程。除了复制,不需要存储任何内部状态,这就是它工作的原因。我实际上只是想知道这个copyFromLocalFile()是否是线程安全的?或者文件系统会启动许多线程进行文件传输。代码中没有同步。因此,没有时间共享。无论运行多少线程。除了复制,不需要存储任何内部状态,这就是它工作的原因。我实际上只是想知道这个copyFromLocalFile()是否是线程安全的?或者,文件系统将启动多个线程进行文件传输。