AWS S3引用文件的并行副本

时间:2016-09-23 20:29:14

标签: amazon-s3 parallel-processing

我以递归方式在子目录中搜索符合特定条件的文件。然后我将文件名/路径输出到平面文件。我希望能够以并行模式将该文件中引用的文件复制到S3,以加快处理时间。例如:

myfiles.txt:
/data/srv/prod1/file1.tar.gz
/data/srv/prod4/file12.tar.gz
/data/srv/prod2/file255.tar.gz

我可以循环访问文件并一次执行S3 Copy,但文件非常大,需要很长时间。

如何将引用的文件并行复制到S3?

2 个答案:

答案 0 :(得分:0)

循环浏览文件名时,可以在自己的进程(或线程)中开始每次传输。通过控制正在运行的进程或线程数,您可以一次传输多个文件。但是,一次传输太多文件实际上可能对传输速度不利。

答案 1 :(得分:0)

使用GNU Parallel:

cat myfiles.txt |parallel -j0 s3cmd cp {} s3://bucket/folder/{/}

调整-j0,直至找到最大吞吐量。