我需要定期使用SFTP将文件从服务器复制到AWS S3桶中。目前,我正在使用Python的Paramiko模块和AWS Boto完成cron任务。我想知道是否有办法通过AWS弹性地图还原(EMR)更有效地做到这一点。S3DistCp工具非常适合使用EMR将数据从S3复制到S3存储桶,但是我还没有找到从SFTP到S3的分布式文件副本的任何内容。
发布于 2014-11-27 18:22:48
在(EMR)中没有本机提供的SFTP功能。
使用EMR将增加的大量开销,无论是在复杂性还是处理时间方面(例如,必须运行一个集群,而每个任务只需要30秒才能启动)。S3DistCp确实对许多文件的并行复制非常有用,但只有当您有数百个文件要复制时,才有价值。
您可以考虑管理SFTP部分以将文件检索到临时位置,但随后调用AWS命令行接口(CLI)来处理文件上载。这将从您的代码中删除一些困难的部分(例如错误检查、多部分上传)。
为了充分利用网络带宽,您可以使用诸如GNU并行这样的工具执行多个同时上传:
ls * | parallel --no-notice -j100 aws s3 cp {1} s3://my-bucket/{1}https://stackoverflow.com/questions/27174807
复制相似问题